Python
[백준] 1158번: 요세푸스 문제 (Python)
문제 📄 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 내 풀이 💻 N, K = map(int, input().split()) arr = [i for i in range(1,N+1)] result = [] index = 0 while len(arr)>0: index += K-1 index %= len(arr) result.append(arr[index]) del arr[index] print("") 문제에 주어진 것처럼 (N, K)가 (7, 3)일 때를 가정하고 문제를 풀어보자. 주어진 수의 배열이 1부터 7일 때 3번째 숫자를 제거하는 과정은 다음과 같다. 1 2 3 4 5 6 7 (3 제거할 차..
[백준] 5598번: 카이사르 암호 (Python)
문제 📄 5598번: 카이사르 암호 가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건 www.acmicpc.net 내 풀이 💻 word = input() orgin = [] for w in word: ascii_num = ord(w) if ascii_num >= 68: orgin.append(chr(ascii_num-3)) else: orgin.append(chr(ascii_num + 23)) print(''.join(orgin)) 설명 🔑 ord(문자) - 문자를 ASCII number로 바꾸기 (ord는 ordinal..
[백준] 2444번: 별 찍기 - 7 (Python)
문제 📄 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 내 풀이 💻 N = int(input()) for i in range(1,N+1): for _ in range(N-i): print(" ",end='') for _ in range(2*i-1): print("*",end='') print() for i in range(1,N): for _ in range(i): print(" ",end='') for _ in range(2*(N-i)-1): # (2*N-1)-2*i print("*",end='') print() Review 🙋♀️ 파이썬 내의 문자열 반복 기능을 이용하면 for 문을 여러 개 돌리지 않아도 될 뻔했다. N = in..