목록알고리즘 (193)
홍우진의 개발 일기장
문제 링크 https://www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net 풀이 코드 n = int(input()) name = list(input()) name_len = len(name) for i in range(n - 1): b = list(input()) for j in range(name_len): if name[j] != b[j]: name[j] = '?' print(''.join(name)) 코드 해석 파일의 수를 받은 뒤 첫 파일명을 받는..
문제 링크 https://www.acmicpc.net/problem/2669 2669번: 직사각형 네개의 합집합의 면적 구하기 입력은 네 줄이며, 각 줄은 직사각형의 위치를 나타내는 네 개의 정수로 주어진다. 첫 번째와 두 번째의 정수는 사각형의 왼쪽 아래 꼭짓점의 x좌표, y좌표이고 세 번째와 네 번째의 정수는 사각 www.acmicpc.net 풀이 코드 l = [[0 for _ in range(101)] for _ in range(101)] for i in range(4): x1, y1, x2, y2 = map(int,input().split()) for i in range(x1, x2): for j in range(y1, y2): l[j][i] = 1 a = 0 for k in l: a += sum..
문제 링크 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 풀이 코드 s = input() res = '' for c in s: if 'a'
문제 링크 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 풀이 코드 n = int(input()) a = list(map(int, input().split())) print(max(a) * min(a)) 코드 해석 진짜 약수를 리스트로 받은 뒤 min 값과 max 값을 곱하여 n을 찾는다.
문제 링크 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 풀이 코드 import math import sys num = int(input()) for i in range(0, num): a, b = map(int, sys.stdin.readline().split()) print(math.lcm(a, b)) 코드 해석 math 모듈을 이용하여 lcm을 간단히 구할 수 있다.
문제 링크 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 풀이 코드 n = int(input()) i = 2 while(n > 1): if n % i == 0: n = n / i print(i) i = 2 else: i += 1 코드 해석 수를 받은 뒤 n이 1보다 클 동안 2 이상의 작은 수로 반복하여 나누면 된다.
문제 링크 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 풀이 코드 a = [[0] * 15 for i in range(5)] for i in range(5): w = list(input()) w_len = len(w) for j in range(w_len): a[i][j] = w[j] for i in range(15): for j in range(5): if a[j][i] == 0: continue; else: print(a[j][i..
문제 링크 https://www.acmicpc.net/problem/4796 4796번: 캠핑 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다. www.acmicpc.net 풀이 코드 i = 0 while True: i+=1 l, p, v = map(int, input().split()) if l == 0 and p == 0 and v == 0: break a = v//p b = v%p if l