목록python/Algorithm (23)
Kim Seon Deok
https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 1.N명의 사람이 원을 이루어 앉음 2.양의 정수 k가 주어짐 3.순서대로 k번째 사람을 제거해 N명의 사람이 모두 제거될 때까지 계속한다. N, k = list(map(int, input().split())) people = [] ans = [] # 정답을 담을 리스트 for i in range(1,N+1): people.append(i) # 제거하려는 인덱스 시작 a = people.pop(k-1) ans.append(a) i = (k-1) # 2부터 시작 & len(people) =..
https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net Board = input() i = 0 while True: if i >= len(Board): break elif Board[i:i+4] == "XXXX": i += 4 Board = Board.replace("X","A",4) elif Board[i:i+2] == "XX": i += 2 Board = Board.replace("X","B",2) elif Board[i] == ".": i += 1 else: Board = -1 break print(Board) 처음에는 for문으로 풀었지만 inde..
https://codeup.kr/problem.php?id=6098 [기초-리스트] 성실한 개미(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 1.10*10크기의 미로상자 2.개미는 (2,2)위치에서 시작 3.오른쪽으로 움직이다가 벽(1)을 만나면 아래로 움직임 4.개미가 지나온 길은 9로 변경 5.먹이(2)를 찾은 경우, 더 이상 움직일 수 없는 경우, 오른쪽 맨 아래에 도착한 경우 그 지점에서 머무름 ant = [list(map(int, input().split())) for _ in range(10)] # 10 * 1..
https://www.acmicpc.net/problem/11170 11170번: 0의 개수 N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다. www.acmicpc.net 1.케이스의 수를 입력받음 2.각각의 케이스마다 N부터 M까지 숫자에서 0의 갯수를 출력 T = int(input()) for i in range(1,T+1): N,M = map(int, input().split()) counter = 0 for k in range(N, M+1): s = str(k) counter += s.count("0") print(counter) 1. 케이스의 수를 입력받..
https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 1. 0이 아닌 N수를 입력받음 2. 1~N까지의 수로 이루어진 순열 정렬(오름차순 ~ 내림차순) 3. 입력한 순열 다음 순서의 순열을 출력 N = int(input()) array = list(map(int, input().split())) if array == sorted(array,reverse = True): # 입력된 순열이 맨 마지막 순서인 내림차순인 순열일 때 print("-1") else: n = 0 for i in range(N-1,0,-1..