본문 바로가기

백준42

백준(파이썬, python) - 10807번 개수 세기(2022.11.01) 1. 10807번 1) 문제 2) 풀이 import sys n = int(sys.stdin.readline()) numbers = list(map(int,sys.stdin.readline().split())) x = int(sys.stdin.readline()) print(numbers.count(x)) 3) 문법 및 풀이과정 처음엔 for문을 입력받은 n값만큼 돌려야하나 했지만 굳이 for문이 없어도 입력받은 숫자들과 세번째 입력값인 x만으로도 충분히 풀 수 있을 것 같아 위와 같이 풀이해봤다. 2022. 11. 1.
백준(파이썬, python) - 5597번 과제 안 내신 분..? (2022.11.01) 1. 5597번 1) 문제 2) 풀이 import sys numbers = list(range(1,31)) for i in range(28): num = int(sys.stdin.readline().strip()) numbers.remove(num) print(numbers[0],numbers[1], sep = "\n") 3) 문법 및 풀이과정 1부터 30까지 미리 list에 넣어놓고 입력 받은 숫자마다 리스트에서 삭제되도록 했다. 이때 입력값을 28번이나 받아야하기에 시간초과가 될 것을 우려해서 sys를 통해 입력값을 받았다. 2022. 11. 1.
백준(파이썬, python) - 1316번(2022.10.31) 1. 1316번 1) 문제 2) 풀이 3) 문법 및 풀이과정 이 문제 풀이의 아이디어는 각 알파벳을 확인할 때마다, 첫째, 앞에 그 알파벳이 있었는지 확인할 것(중복인지)과 둘째, 중복이라면 바로 직전이 그 알파벳이었는지 확인하는 두가지를 해야겠다는 생각에서부터 나왔다. 고려해야할 요소가 꽤 여러가지니 번호를 매겨 순차적으로 살펴보겠다. (1) import sys 후 첫번째 입력값을 받는다. sys를 사용한 이유는 이게 시간제한에 더 효율적인 방법이기 때문이다. (2) case의 값만큼 for문을 반복하여 word를 입력값으로 받고 이제 각각 알파벳을 하나씩 확인하여 alph_list에 append할 것이므로 alph_list도 정의해둔다. (3) for문을 한 번 더 사용하고 if도 사용하여 이번에는 .. 2022. 10. 31.
백준(파이썬, python) - 2941번 (2022.10.31) 1. 2941번 1) 문제 2) 풀이 3) 문법 및 풀이과정 엄청난 시행착오와 착오와 착오를 거듭해 최종적으로 맞은 문제였다. 사이트의 테스트케이스 예제가 정말 잘 나와있다는 생각이 들었다. 한 테스트 케이스에서 답이 틀려서 그거에 초점을 두고 코드를 수정하면 다른 테스트 케이스에서 문제가 생기는 많은 착오 끝에 최종적으로 코드를 완성했다. 정말 뿌듯하고 이 문제 맞았을 때 행복했다 .. (1) 주어진 크로아티아 알파벳을 list에 넣는다. (2) 문자열을 입력받는다. (3) 최종적으로 알파벳 개수를 세기 위해 필요할 len(word)를 정의한다.(이 부분은 문제를 풀다 필요해져서 앞에 입력한 것이다. 미리 부가 설명을 하자면 이 때 변수로 설정해 놓지 않으면 나중에 word라는 입력값이 for문 내에서.. 2022. 10. 31.
백준(파이썬, python) - 1110번 더하기 싸이클(2022.10.18) 1. 1110번 1) 문제 2) 풀이 3) 문법 및 풀이과정 (1) input값을 받는다. 이 때 나는 숫자로 계산할 거였기 때문에 int로 받았으나 문자열(str)로 보고 index를 위해 푸는 게 더 깔끔한 풀이가 될 것 같다. (2) 사이클 횟수를 세기 위한 count 변수를 0으로 설정한다. 이때 count 정의는 반드시 반복문이 시작되기 전에 해야한다. ( 반복문 내부에 하면 반복될 때마다 기껏 더한 count값이 0으로 리셋되니 주의해야 한다.) (3) num = n 으로 입력값을 다른 변수에 다시 저장한다. 이는 계산 과정을 통해 만들어진 새로운 수를 저장할 변수이다. (4) if문으로 num 과 n이 일치하는지 확인하고 이 때, while문은 True가 나왔을 때 종료하도록 설정해야 한다... 2022. 10. 31.
백준(파이썬, python) - 10871번 (2022.10.17) 1. 10871번 1) 문제 2) 풀이 3) 문법 및 풀이과정 가장 먼저 첫째줄에 두 수가 공백을 두고 한꺼번에 주어지므로 split()을 이용해 두 수를 각각 n,x 변수에 대입한다. 그다음 입력되는 숫자들은 A라는 list에 넣었다. list에 입력된 숫자들 중 x보다 작은 수들만 출력하는 것이 목표이므로, A의 각 값이 x보다 작으면 공백을 간격으로 두고 출력되도록 if문과 print에 end를 활용하였다. 2022. 10. 31.