본문 바로가기
반응형

전체 글288

[BOJ][Python]1094 풀이 https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net x = int(input()) w = [64, 32, 16, 8, 4, 2, 1] c = 0 cnt = 0 for i in range(len(w)): if w[i] > x: continue elif w[i] == x: print(1) break else: if c + w[i] 2023. 6. 26.
[BOJ][Python]1032 풀이 https://www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net import sys ssr = sys.stdin.readline n = int(ssr()) ans = list(ssr().rstrip()) for _ in range(n-1): tmp = list(ssr().rstrip()) for i in range(len(tmp)): if ans[i] != tmp[i]: ans[i] = '?' print(''.join(ans)) 어렵지 않은 문제입니다. .. 2023. 6. 25.
[BOJ][Python]1076 풀이 https://www.acmicpc.net/problem/1076 1076번: 저항 전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한 www.acmicpc.net t = {'black':'0', 'brown':'1', 'red':'2', 'orange':'3', 'yellow':'4', 'green':'5', 'blue':'6', 'violet':'7', 'grey':'8', 'white':'9'} print(int(t[input()]+t[input()]+'0'*int(t[input()]))) 처음엔 별 생각없이 저항이 나와서 반가웠던 문제인데 풀어보니 약간 의.. 2023. 6. 24.
[BOJ][Python]1075 풀이 https://www.acmicpc.net/problem/1075 1075번: 나누기 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. www.acmicpc.net n = int(input()[:-2] + '00') f = int(input()) if n % f == 0: print('00') else: tmp = n // f * f print(str(tmp + f)[-2:]) 이번 문제도 문제 자체가 어렵다기 보다는 약간 머리를 굴려야 하는 문제입니다. n의 10의 자리수, 1의 자리수를 바꿔서 f의 가능한 한 작은 배수를 만들 수 있는 두 숫자를 출력해야 합니다. 쉽게 보면 그냥 최대.. 2023. 6. 23.
[BOJ][Python]1009 풀이 https://www.acmicpc.net/problem/1009 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net import sys ssr = sys.stdin.readline t = int(ssr()) c = [[10], [1], [2, 4, 8, 6], [3, 9, 7, 1], [4, 6], [5], [6], [7, 9, 3, 1], [8, 4, 2, 6], [9, 1]] for _ in range(t): a, b = map(int, ssr().split()) i = a%10 tmp = b%len(c[i])-1 p.. 2023. 6. 22.
[BOJ][Python]1247 풀이 https://www.acmicpc.net/problem/1247 1247번: 부호 총 3개의 테스트 셋이 주어진다. 각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거 www.acmicpc.net import sys ssr = sys.stdin.readline for _ in range(3): n = int(ssr()) s = 0 for _ in range(n): s += int(ssr()) if s == 0: print('0') elif s < 0: print('-') else: print('+') 그렇게 어려운 문제는 아닌데 시간을 줄이는 방법을 좀 고민해.. 2023. 6. 21.
[BOJ][Python]1264 풀이 https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net while True: s = input() cnt = 0 if s == '#': break else: for i in s.lower(): if i in ['a', 'e', 'i', 'o', 'u']: cnt += 1 print(cnt) lower로 바꾸지 않고 대문자 판단도 시켜봤는데 여전히 같더라구요. 미리 vowel이라는 리스트를 만들어 놓고 in 메소드를 활용하면 좀 더.. 2023. 6. 20.
[BOJ][Python]14501 풀이 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net from collections import deque n = int(input()) t = {n+1:(16,16)} q = deque([(1, 0)]) ans = [] for i in range(1, n+1): a, b = map(int, input().split()) t[i] = (a, b) while q: tmp = q.popleft() c, d = t[tmp[0]] if tmp[0]+c 2023. 3. 4.
[BOJ][Python]2193 풀이 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net n = int(input()) t = [0 for _ in range(91)] t[1] = 1 for i in range(2, 91): t[i] = 1 + sum(t[:i-1]) print(t[n]) 뻔한 dp 문제입니다. 조건 1과 2에 의해서 앞의 두 자리는 10으로 고정되기 때문에 사실상 3번째부터 n번째 까지 가능한 조합을 따지는 건데 그 조합들은 이미 앞에서 구한게 있으니 그대.. 2023. 3. 3.
[BOJ][Python]1476 풀이 https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net e, s, m = map(int, input().split()) a, b, c = 1, 1, 1 ans = 1 while 1: if a == e and b == s and c == m: print(ans) break else: a += 1 b += 1 c += 1 ans += 1 if a == 16: a = 1 if b == 29: b = 1 if c == 20: c = 1 예전에는 아마 연도를 주면 .. 2023. 3. 1.
반응형