백준 문제풀이 63

[백준 3052번 문제] 나머지

nums = [] mods = [] for i in range(10): num = int(input()) nums.append(num) mod = nums[i] % 42 mods.append(mod) count = set(mods) print(len(count)) 이 문제는 10개의 자연수를 입력받아서 42로 나눈 나머지를 구하여 총 몇개의 나머지가 나오는지 결과를 출력하는 문제이다. 나는 for문을 활용하여 10개의 숫자를 입력받아 각각의 리스트에 값을 저장한 후 set 함수를 이용해서 나머지 갯수를 카운팅하도록 코드를 짰다. set 함수는 수학의 집합과 비슷한 개념으로 순서에 상관없이 유일한 값을 걸려내준다. 그래서 나머지값을 저장한 리스트를 set함수를 이용해 걸러낸 후 그 길이를 출력하는 방식으로..

백준 문제풀이 2022.02.02

[백준 2577번 문제] 숫자의 개수

이 문제는 3개의 숫자를 입력받아서 곱한 결과값을 가지고 배열을 사용하여 0~9까지의 숫자가 결과갑셍 몇개씩 들어있는지 출력하는 문제이다. num1 = int(input()) num2 = int(input()) num3 = int(input()) result = num1 * num2 * num3 result = str(result) 3개의 숫자를 입력받아 곱한 결과값을 result에 저장하고 str함수를 사용하여 정수형에서 문자열로 바꾸어주었다. nums = [0,0,0,0,0,0,0,0,0,0] 사이즈가 9인 배열을 만들어 0으로 초기화시켜주었다. for i in result: if i == '0': nums[0] += 1 elif i == '1': nums[1] += 1 elif i == '2': n..

백준 문제풀이 2022.01.28

[백준 10818번 문제] 최소, 최대 구하기

이 문제는 입력받을 숫자의 갯수와 숫자들을 입력받아 저장하고, 그 숫자들에서 최소값과 최대값을 구하는 문제이다. 숫자들을 공백으로 입력받아 리스트에 저장하는 방식을 사용하기 위해서 list(map(int,input().split())) 을 사용하였다. 그리고 리스트 맨 앞의 숫자를 min, max 변수에 저장해서 for문을 활용하여 리스트안의 숫자를 앞에서부터 차례대로 비교해가며 최소 최대값을 구하는 것이다. num = int(input()) numbers = list(map(int,input().split())) min = numbers[0] max = numbers[0] for i in numbers[1:]: if i > max: max = i elif i < min: min = i print(min..

백준 문제풀이 2022.01.19

[백준 10871번 문제] X보다 작은 수

이 문제는 입력받을 숫자의 갯수와 하나의 숫자를 입력받아 그 수보다 작은 수들을 출력해주는 문제이다. 이 문제를 풀면서 for문을 활용하여 숫자를 비교하는 것은 쉬웠는데 처음에 10개의 숫자를 나란히 공백으로 입력받아서 저장하는 것이 헷갈렸다. 그 동안 앞에 문제에서는 2개의 숫자만 나란히 입력받는 유형이였는데 10개의 숫자를 리스트형태로 저장해서 for문으로 돌리면 될 거 같아서였다. 결과적으로 구글링을 해본 결과 map함수앞에 list()를 붙이면 list 형태로 저장할 수 있었다. series_num, num = map(int, input().split()) series = list(map(int, input().split())) for i in range(series_num): if series[..

백준 문제풀이 2022.01.17