본문 바로가기

코딩test공부14

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.
9655. 돌게임 https://acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 1.설명 문제를 딱 보자마자 일단 해보자라는 생각이 들었습니다. n=1 상근1 -> 상근 n=2 상근1 창영1->창영 n=3 상근3,상근1 창영1 상근1->상근 n=4 상근1 창영3, 상근1 창영1 상근1 창영1,상근3 창영1 -> 무조건 창영이가 이김 n=5 상근1 창영3 상근1,상근1 창영1 상근3 or 상근3 창영1 상근1 -> 상근이가 무조건 이김 보니까 홀수일때 상근이가 이기고, 짝수일때 창영이가 이기는걸 볼 수 있었습니다. 근데~~~~~여기서 끝내면 공부가 전혀 안되겠죠?? 3학년 2학기때 들었던 알고리즘 수업중에.. 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.