본문 바로가기

백준12

2607.비슷한 단어 https://www.acmicpc.net/problem/2607 2607번: 비슷한 단어 첫째 줄에는 단어의 개수가 주어지고 둘째 줄부터는 한 줄에 하나씩 단어가 주어진다. 모든 단어는 영문 알파벳 대문자로 이루어져 있다. 단어의 개수는 100개 이하이며, 각 단어의 길이는 10 이 www.acmicpc.net 1.설명 target을 list로 받은 뒤 복사된 리스트를 compare이라고 칭했습니다. 새로운 단어 문자열 word를 받고 compare와 하나씩 비교합니다. compare에 해당 문자 포함되어 있는지 확인합니다. 있으면 remove로 제거하고, 아니면cnt를 1씩 증가시킵니다. 순회가 완료된 뒤의 cnt 값은 target 단어에 포함되지 않은 word의 문자의 개수이고, compare에 남.. 2024. 1. 16.
2512.예산 https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 1.설명 문제에서 가능한 최대의 금액을 뽑아야하는 조건이 있습니다.따라서 리스트를 받고 나서 상한액을 점점 키우다가 만약 총 예산을 넘기면 그때 그 값의 -1 을 반환해야합니다. 상한액을 어떻게 키울까 하다가 이분탐색을 활용해 구했습니다. search 기법들은 나중에 한번에 정리해보겠습니다!!! 문제 자체는 이분 탐색(BInary search)이 어떻게 돌아가는지만 알면 문제 자체는 쉽게 풀.. 2024. 1. 11.
20920.영단어 암기는 괴로워 https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net 1.설명 이번 문제에서 봐야할껀 sorted()관련 함수 였습니다. 파이썬에서 sort()함수는 오름차순으로 정렬해주는 함수입니다. 문자열 또한 오름차순으로 정렬이 됩니다.key 매개변수를 가지는 sort()함수는 key값을 기준으로 정렬되고 lambda식을 사용할 수 있습니다. lambda식은 익명함수를 지칭하는 것으로 key인.. 2024. 1. 10.
13305.주유소 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 1.설명 제가 생각한 방법은 n개의 도시가 할때 첫번쨰 도시에서 두번쨰 도시로 갈때 최소비용으로 채워야하므로 cost값을 길이[0]*도시가격[0]으로 시작하고, 그 다음 price중 최소값이 존재할때 거기서 기름을 다 채우는 방법으로 계산했습니다. 문제를 처음 봤을떄 BFS(best first search)를 활용하여 구하려고했으나. 그것보다 쉬운 방법이 있을꺼같아서 이방법으로 풀어.. 2024. 1. 9.
9017.크로스 컨트리 https://www.acmicpc.net/problem/9017 9017번: 크로스 컨트리 입력 데이터는 표준입력을 사용한다. 입력은 T 개의 테스트 케이스로 주어진다. 입력 파일의 첫 번째 줄에 테스트 케이스의 수를 나타내는 정수 T 가 주어진다. 두 번째 줄부터는 두 줄에 하나의 www.acmicpc.net 1.설명 위 그래프는 함수 선언할때 고민했던 그림입니다. 이번 문제 돌리면서 가장 헷갈렸던 부분이 2개정도 있는데 1)팀원이 6명이 안될시에 NaN값을 어떻게 넣을지에 대한 고민 2)점수를 어떻게 줘야할지? 에 대해서 고민하다가 그냥 6명이 안되는 팀들은 제거를 한뒤 점수 입력을 하자라는 생각이 들었습니다. def main(): T = int(input()) for _ in range(T): N.. 2024. 1. 8.
1244.스위치 끄고 켜기 https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 1.설명 일단 남자랑 여자 조건에 따른 행동을 맞게 해줘야 하는데, 남자 같은 경우는 3이면 3,6 같이 배수만 바꾸면 되므로 쉽게 해결했다. 여자는 기준을 잡아 대칭인 곳 까지 찾아 변경해야합니다. 한칸씩 증가하면서 같을때까지 증가하다 아니면 바로 break문으로 빠지게 해결했다. 마찬가지로 범위를 벗어나는 상황일때 필요한 상황을 보면서 진행했습니다. 2.코드 def change(num):.. 2024. 1. 4.