목록백준 (176)
홍우진의 개발 일기장
문제 링크 https://www.acmicpc.net/problem/2605 2605번: 줄 세우기 점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을 www.acmicpc.net 풀이 코드 arr = [] n = int(input()) l = list(map(int,input().split())) for i in range(n): arr.insert(l[i],i+1) print(*arr[::-1]) 코드 해석 번호를 받은 뒤 리스트로 변환한다. 그리고 리스트의 번호의 자리에 순서대로 저장한다. 마지막으로 거꾸로 출력한다.
문제 링크 https://www.acmicpc.net/problem/6996 6996번: 애너그램 첫째 줄에 테스트 케이스의 개수(
문제 링크 https://www.acmicpc.net/problem/2526 2526번: 싸이클 두 자연수 N과 P를 가지고 다음 과정을 거쳐서 나오는 수를 차례대로 출력해보자. 처음 출력하는 수는 N이고, 두 번째 이후 출력하는 수는 N을 곱하고 P로 나눈 나머지를 구하는 과정을 반복하여 www.acmicpc.net 풀이 코드 n, p = map(int, input().split()) l = [] a = n while True: a = (a * n) % p if a in l: print(len(l) - l.index(a)) break l.append(a) 코드 해석 수를 받은 뒤 수를 저장할 리스트를 만들고 a라는 변수의 초기값을 n으로 설정한다. a 에 (a * n) % p 를 저장하고 만약 리스트 ..
문제 링크 https://www.acmicpc.net/problem/11170 11170번: 0의 개수 N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다. www.acmicpc.net 풀이 코드 t = int(input()) for i in range(t): cnt = 0 n, m = map(int, input().split()) for i in range(n, m+1): w = str(i) cnt += w.count('0') print(cnt) 코드 해석 수를 받은 뒤 하나씩 str로 만들고 0의 개수를 세어 cnt에 저장한 후 출력한다.
문제 링크 https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net 풀이 코드 n = int(input()) seat = input() count = seat.count('LL') if (count
. 문제 링크 https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 풀이 코드 m = [500,100,50,10,5,1] p = 1000 - int(input()) cnt = 0 for i in m: if p >= i: while p >= i: p -= i cnt += 1 print(cnt) 코드 해석 잔돈 리스트를 만든다. p에 거스름돈을 입력한다. 그 후 잔돈으로 for문을 돌려 가장 적게 잔돈을 주도록 만든다.
문제 링크 https://www.acmicpc.net/problem/2846 2846번: 오르막길 상근이는 자전거를 타고 등교한다. 자전거 길은 오르막길, 내리막길, 평지로 이루어져 있다. 상근이는 개강 첫 날 자전거를 타고 가면서 일정 거리마다 높이를 측정했다. 상근이는 가장 큰 오르 www.acmicpc.net 풀이 코드 n = int(input()) pi = list(map(int, input().split())) a = 0 re = [] for i in range(n-1): if pi[i] < pi[i+1]: a += pi[i+1] - pi[i] else: re.append(a) a = 0 re.append(a) print(max(re)) 코드 해석 리스트로 받아서 저장 한 뒤 반복하여 전 수랑 ..
문제 링크 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)) 코드 해석 파일의 수를 받은 뒤 첫 파일명을 받는..