본문 바로가기
반응형

전체 글252

[백준][Python] 17521번 Byte Coin 17521번: Byte Coin 입력은 표준입력을 사용한다. 첫 번째 줄에 요일 수를 나타내는 양의 정수 n과 초기 현금 W(1 ≤ n ≤ 15, 1 ≤ W ≤ 100,000)가 주어진다. 다음 n 개의 줄에서, i번째 줄은 i일의 바이트 코인 가격을 나 www.acmicpc.net 코드 n,w = map(int,input().split()) coin = [] cnt = 0 for _ in range(n): coin.append(int(input())) for i in range(n-1): if coin[i] 0: cnt = w // coin[i] w = w % coin[i] elif coin[i] > coin[i-1]: w += cnt*coin[i.. 2022. 7. 22.
[백준][Python] 14912번 숫자 빈도수 14912번: 숫자 빈도수 자연수 n (1 ≤ n ≤ 100,000)과 한 자리 숫자 d(0~9)가 첫째 줄에 주어진다. www.acmicpc.net 코드 n, num = map(int,input().split()) cnt = 0 for i in range(1,n+1): for a in str(i): if int(a) == num: cnt += 1 print(cnt) 설명 1부터 n까지의 숫자를 string형으로 변환한 후 한 자리씩 주어진 숫자와 비교를 했다. 비교를 할 때는 다시 int형으로 바꿔줬다. 만약 주어진 수와 일치하면 cnt를 1 증가시켰다. 2022. 7. 21.
[백준][Python] 1251번 단어 나누기 1251번: 단어 나누기 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다 www.acmicpc.net 코드 word = input() ans_list = [] for i in range(1,len(word)-1): ans = [] for j in range(i+1,len(word)): ans = ((word[0:i:])[::-1])+((word[i:j:])[::-1])+((word[j::])[::-1]) ans_list.append(ans) ans_list.sort() print(ans_list[0]) 설명 단어를 3개로 나눌 수 있는 모든 경우의 수를 확인했다... 2022. 7. 21.
[백준][Python] 11170번 0의 개수 11170번: 0의 개수 N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다. www.acmicpc.net 코드 t = int(input()) for _ in range(t): n,m = map(int,input().split()) cnt = 0 for i in range(n,m+1): for a in str(i): if a == '0': cnt += 1 print(cnt) 설명 n부터 m까지의 수를 string 형으로 변환하여 '0'이 나올 때마다 cnt를 1씩 증가시켰다. 2022. 7. 20.
[백준][Python] 2204번 도비의 난독증 테스트 2204번: 도비의 난독증 테스트 꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실 www.acmicpc.net 코드 import sys while 1: n = int(input()) if n == 0: break n_list = [] for _ in range(n): n_list.append(sys.stdin.readline().rstrip()) n_list.sort(key=str.lower) print(n_list[0]) 설명 .upper, .lower 을 통해 문자열을 모두 대문자 혹은 소문자로 변경할 수 있다. n_list에 입력받은 단어를 모두 넣은 다음 sort.. 2022. 7. 19.
[백준][Python] 11365번 !밀비 급일 11365번: !밀비 급일 당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다. 이 암호를 해독하는 프로그램을 작성하시오. www.acmicpc.net 코드 import sys while 1: pw = (sys.stdin.readline().rstrip()) if pw == 'END': break print(pw[::-1]) 2022. 7. 19.
[백준][Python] 2160번 그림 비교 2160번: 그림 비교 N(2 ≤ N ≤ 50)개의 그림이 있다. 각각의 그림은 5×7의 크기이고, 두 가지 색으로 되어 있다. 이때 두 가지의 색을 각각 ‘X’와 ‘.’으로 표현하기로 하자. 이러한 그림들이 주어졌을 때, 가장 비 www.acmicpc.net 코드 def check(i,j): cnt = 0 for a in range(5): for b in range(7): if n_list[i][a][b] != n_list[j][a][b]: cnt += 1 return cnt n = int(input()) n_list = [] for i in range(n): i_list= [] for j in range(5): i_list.append(list(input())) n_list.append(i_list).. 2022. 7. 18.
[백준][Python] 18512번 점프 점프 18512번: 점프 점프 첫째 줄에 두 사람이 한 번에 멀리뛰기를 하는 거리 X, Y와 시작 지점의 위치 값 P1, P2가 각각 공백을 기준으로 구분되어 자연수로 주어진다. (1 ≤ X, Y, P1, P2 ≤ 100) www.acmicpc.net 코드 x,y,p1,p2 = map(int,input().split()) cnt = 0 while 1: if p1 == p2: break if cnt > 1000: p1 = -1 break if p1 > p2: p2 += y elif p1 < p2: p1 += x cnt += 1 print(p1) 설명 p1과 p2가 같으면 while문을 빠져나오고, 만약 다르면 p2가 클 경우 p1을 x만큼 증가시켰고, p1이 클 경우 p2를 y만큼 증가시켰다. 공통적으로 지나는.. 2022. 7. 18.
[백준][Python] 1145번 적어도 대부분의 배수 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net 코드 n_list = list(map(int,input().split())) n = min(n_list) while 1: cnt = 0 for i in range(5): if n % n_list[i] == 0: cnt +=1 if cnt >= 3: break n += 1 print(n) 설명 입력 받은 n_list의 숫자들 중에서 가장 작은 수를 n이라 하고 n 부터 1씩 증가시켜가면서 n_list에 있는 숫자들과 나눈 나머지 값이 0이면 cnt를 증가시켜줬다. cnt 값이 3 이상이면 while문을 빠져나온다. 2022. 7. 15.
반응형