본문 바로가기

백준12

8979.올림픽 https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 1.설명 이 문제에서 배워야할껀 2차원 배열 입력이라고 생각이됩니다!! 2차원 배열 입력받는 법에 대해서 알아볼께용 가로A, 세로 B길이의 배열을 선언한다고 가정합시다.(행렬로 하면A가 column,B가 row입니다.) 입력받을때 B의 크기는 반드시 알아야됩니다. 1.원소 하나씩 입력받기 arr = [for _ in range(B)] // 2차원 배열의 가로길이 : B for.. 2024. 1. 3.
10431.줄세우기 https://www.acmicpc.net/problem/10431 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1 www.acmicpc.net 1.설명 문제를 보자마자 이거 무조건 sort 문제겠다 싶었슴다!! 학교에서 C++로 배웠던 linked list가 제일 먼저 떠올랐는데요?? 근데 linked list은 공간을 만들기 위해 한발짝 뒤로 물러가진 아니하진아니한가... 라는 생각이 들었습니다.(어떤 견제든 환영합니다!!) 따라서 sort 방법이랑 search 기법을 많이 배웠는데 딱히 완벽하게 정리를 안해봤다는 생각이 들어서 이번 기법은.. 2024. 1. 2.
11723.집합 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 1.설명 일단 문제에서 집합에 따른 여러 조건들을 수행해야하는데 그렇게 어려워보이지않았습니다. 일단 실패한 코드 먼저 보시죠. m = int(input()) s = set() for _ in range(m): arr = list(input().split()) c = arr[0] if c == 'add': s.add(int(arr[1])) elif c == 'remove': try: s.remove(int(arr[1])) except.. 2023. 12. 28.
2941.크로아티아 알파벳 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 1.설명 단어를 input 받은후 대체해야할 단어를 array안에 저장해놓고, replace함수를 활용하여 단어를 대체했습니다!! 이번 문제에서 알아야하는건 replace 함수였던거 같습니다. replace 함수에 대해서 좀더 잘 알아볼께용 replace는 문자열을 변경하는 함수로 문자열 안에서 특정 문자를 새로운 문자로 변경하는 기능을 가지고 있습니다. 변수.. 2023. 12. 28.
1157.단어공부 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 1.설명 단어를 입력받고 (input 함수) 를 사용하고 lower함수를 이용해 대문자도 소문자로 바꾼다. 그이후 그 단어가 몇개의 단어로 이루어져있는지 파악하기 위해 set함수를 활용한다.(set함수를 활용하면 중복된 단어는 제거) 하고 나서 for문으로 word에 count함수를 활용해 개수를 구한다. 하고 array에 append하고 a안에 있는 최대값을 활용하여 최대값이 2개이상이면 ? 최대값이 1개라면 index번호를 구.. 2023. 12. 28.
10818.최소,최대 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 일단 쉬운 문제부터 호다닥 풀어볼께용 1.설명 코테를 풀면서 느끼는게 내가 이문제를 어떻게 풀어나갈것인지에대해서 쓰는게 맞다고 생각해서 앞으로도 적을 예정임다 첫째줄에 정수입력 받고, 그만큼 배열을 받아야한다. PYTHON은 배열의 크기를 따로 지정안해도 되기에 list으로 값을 받고,(input 활용) list에 있는 숫자를 분할.(.split()활용) 하고 .. 2023. 12. 27.