-
[swea] 4371번: 항구에 들어오는 배 - 파이썬(python)
모든 배는 1일에 들어온다. 즐거운날은 오름차순으로 정렬이 되어있으므로, 2번째 날짜부터 마지막 날짜까지 탐색하면서 주기를 계산한다. 계산한 주기마다 해당되는 날짜가 ship 집합에 들어있지 않다면 ship 이라는 집합에 추가하고, 배의 개수를 1 증가한다. ex) 즐거운 날 :1 4 6 7 9 10 11 13 16 17 19 첫번째 주기 : 4-1 = 3 ship -> 4,7,10,13,16,19 두번째 주기 : 6-1 = 5 ship -> 4,6,7,10,11,13,16,19 세번째 주기 : 7-1 = 6 -> 이미 ship 에 들어있으므로, 해당 주기의 약수값을 가지는 주기가 이미 존재하는 것이다. 따라서 패스 세번째 주기 : 9-1 = 8 ship -> 4,6,7,9,10,11,13,16,17,1..
알고리즘/이것저것
2022. 11. 7.
-
[swea] 7584번: 자가 복제 문자열 - 파이썬(python)
입력범위가 K(1 ≤ K ≤ 1018) 이므로 모든 P값을 찾으려고 하면 낭패이다. 따라서 규칙을 찾아야 한다. p=“001001100011011...” 으로 진행되는데0인 숫자의 인덱스는 0,1,4,5,7,8,9,12,15,16,17,19,20,24,25,28...1인 숫자의 인덱스는 2,5,6,10,11,13,14,18,21,22,23,26,28,29... 와 같다.따라서 4의 배수면 0의 값이고,4의 배수가 아닌 2의 배수면 1임을 알 수 있다.홀수인덱스의 경우 (i-1)/2 의 값에 따라 결정된다. 나의 풀이 T = int(input()) answer = [] for t in range(1, T+1): k = int(input()) - 1 while k >= 0: if k % 2 == 1: k =..
알고리즘/이것저것
2022. 11. 6.