1부터 14까지가 저장된 2차원 리스트 A를 생성한다. 그리고 k와 n의 값이 작기에 먼저 값을 채우고 출력하는 방식으로 했다.k와 n 모두 1부터 14까지 반복되며 k번째 열에 (k-1)번째 열에서 0부터 n까지 더한 값을 append()를 사용해 추가해 나간다.반복문이 종료되면 테스트 케이스의 수를 입력받고 입력받은 값에 저장된 값을 출력한다.문제풀이A = [[i for i in range(1,15)]] for k in range(1,15): A.append([]) for n in range(1,15): A[k].append(sum(A[k-1][0:n])) for T in range(int(input())): k,n = int(input()),int(input()) print(A[k][n-1])
H = 3, W = 2라고 가정했을때 방 배정은 101,201,301,102,202,302로 진행된다.이 규칙을 통해 층수 Y는 손님의 수 N[2]를 최대 층수 N[0]로 나누었을때의 나머지임을 확인할 수 있다.만약 N[2]가 N[0]의 배수일 때는 0이 나오기 때문에 그때는 Y를 N[0]으로 설정한다.번호 X는 N[2]를 N[0]로 나눈 값을 ceil()로 올림 하여 구할 수 있다. X가 1의 자리수일 때는 zfill()을 사용해 0을 채운다.문제풀이from math import ceil for T in range(int(input())): N = list(map(int,input().split())) if N[2] % N[0]: Y = str(N[2] % N[0]) else: Y = str(N[0])..
[도착하기 직전의 이동거리는 반드시 1광년] 이 조건을 보지 못해 잠시 헤맸다.이 조건대로 규칙을 살펴보면 아래와 같은 규칙이 나온다. 순서 최대로 이동하는 수열 최대 이동 횟수 최대 거리 1 1 1 1 2 121 3 4 3 12321 5 9 4 1234321 7 16 5 123454321 9 25 N 123...(N-1)N(N-1)...321 N * 2 - 1 N^2 먼저 거리 I를 구하기 위해 목표 위치 E에서 현재 위치 S를 뺀다. 이후 N을 찾기 위해 sqrt()를 사용해 I의 제곱근을 구해 N에 저장한다.마지막으로 N에 2를 곱한 값을 ceil()을 사용해 올림 하고 1을 빼면 이동 횟수가 나온다.문제풀이from math import sqrt,ceil for T in range(int(input..
collections.Counter를 사용해 입력받은 문자열에서 각각의 숫자의 개수를 산출한다.6은 9를 뒤집어서, 9는 6을 뒤집어서 사용할 수 있기에 9의 개수를 6의 개수에 더하고 2로 나눈 다음 9를 지운다.그 다음 max()를 사용해 N의 value에서 가장 큰 값을 출력하면 된다. 6과 9의 개수가 가장 클 때는 실수형으로 출력되기 때문에 ceil()을 사용해 올림 해서 출력한다.문제풀이from collections import Counter from math import ceil N = Counter(list(map(int,input()))) N[6] += N[9] N[6] /= 2 del N[9] print(ceil(max(N.values())))
숏코딩을 위해 입력받은 문자열을 리스트 컴프리헨션을 사용해 하나씩 계산하고 sum()으로 더해 출력했다.문자를 ord()를 사용해 아스키코드로 변환하고 3으로 나눠서 더할때 최솟값이 3이 되도록 56을 뺀다.7번의 PQRS와 9번의 WXYZ는 4개이기 때문에 그 이상의 아스키코드 값이 나오면 1씩 빼서 계산한다.문제풀이print(sum((ord(i) - 56 - int(ord(i)>82) - int(ord(i)>89)) // 3 for i in input()))
선택 정렬(Selection Sort) 선택 정렬은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 1. 1번째 값을 2번째 값부터 마지막 값까지 비교해 최솟값을 찾는다.2. 1번째 값과 최솟값의 위치를 바꾼다.3. 2번째 값을 3번째 값부터 마지막 값까지 비교해 최솟값을 찾는다.4. 2번째 값과 최솟값의 위치를 바꾼다.5. (N-1)번째 값까지 위 과정을 반복한다. 선택 정렬 예제 입력자료 5 2 8 1 9 7 Step 1 1 2 8 5 9 7 Step 2 1 2 8 5 9 7 Step 3 1 2 5 8 9 7 Step 4 1 2 5 7 9 8 Step 5 1 2 5 7 8 9 출력 결과 1 2 5 7 8 9 입력자료 11 9 5 18 27 15 Step 1 5 9 11 18 27 15..