languages/coding test
-
단계별로 풀어보기 > 단계 8: 일반 수학 > 2292번 #2292: 벌집 n = int(input()) count = 1 honey = 1 while n > honey: honey += 6*count count += 1 print(count) 규칙을 잘 파악해야 합니다. 각 방을 지날 때마다 방의 개수는 6의 배수만큼 늘어납니다.
[백준/Python] 2292번: 벌집단계별로 풀어보기 > 단계 8: 일반 수학 > 2292번 #2292: 벌집 n = int(input()) count = 1 honey = 1 while n > honey: honey += 6*count count += 1 print(count) 규칙을 잘 파악해야 합니다. 각 방을 지날 때마다 방의 개수는 6의 배수만큼 늘어납니다.
2024.01.29 -
단계별로 풀어보기 > 단계 8: 일반 수학 > 2903번 #2903: 중앙 이동 알고리즘 n = int(input()) print((2**n+1)**2) 반복의 규칙을 알면 쉽습니다. 매 차례마다 한 변에 2n+1개 점을 가진 정사각형이 만들어집니다.
[백준/Python] 2903번: 중앙 이동 알고리즘단계별로 풀어보기 > 단계 8: 일반 수학 > 2903번 #2903: 중앙 이동 알고리즘 n = int(input()) print((2**n+1)**2) 반복의 규칙을 알면 쉽습니다. 매 차례마다 한 변에 2n+1개 점을 가진 정사각형이 만들어집니다.
2024.01.29 -
단계별로 풀어보기 > 단계 8: 일반 수학 > 2720번 #2720: 세탁소 사장 동혁 t = int(input()) quarter, dime, nickel, penny = 0, 0, 0, 0 money = [] for i in range(t): money.append(int(input())) for i in range(t): quarter = money[i] // 25 money[i] = money[i] % 25 dime = money[i] // 10 money[i] = money[i] % 10 nickel = money[i] // 5 money[i] = money[i] % 5 penny = money[i] print(quarter, dime, nickel, penny) 반복문에서는 quarter, d..
[백준/Python] 2720번: 세탁소 사장 동혁단계별로 풀어보기 > 단계 8: 일반 수학 > 2720번 #2720: 세탁소 사장 동혁 t = int(input()) quarter, dime, nickel, penny = 0, 0, 0, 0 money = [] for i in range(t): money.append(int(input())) for i in range(t): quarter = money[i] // 25 money[i] = money[i] % 25 dime = money[i] // 10 money[i] = money[i] % 10 nickel = money[i] // 5 money[i] = money[i] % 5 penny = money[i] print(quarter, dime, nickel, penny) 반복문에서는 quarter, d..
2024.01.29 -
단계별로 풀어보기 > 단계 8: 일반 수학 > 11005번 #11005: 진법 변환 2 n, b = map(int, input().split()) txt = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' result = [] while n: result.append(txt[n%b]) n = n//b for i in range(len(result)): print(result[len(result)-i-1], end ="") #거꾸로 출력해야 함 마찬가지로 진법 개념이 있어야 합니다. 입력받은 숫자를 n진수로 나눈 나머지를 저장하는 반복 작업을 더 이상 나눌 수 없을 때까지 반복합니다. 반복 후엔 뒤에서부터 하나씩 출력해줘야 합니다.
[백준/Python] 11005번: 진법 변환 2단계별로 풀어보기 > 단계 8: 일반 수학 > 11005번 #11005: 진법 변환 2 n, b = map(int, input().split()) txt = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' result = [] while n: result.append(txt[n%b]) n = n//b for i in range(len(result)): print(result[len(result)-i-1], end ="") #거꾸로 출력해야 함 마찬가지로 진법 개념이 있어야 합니다. 입력받은 숫자를 n진수로 나눈 나머지를 저장하는 반복 작업을 더 이상 나눌 수 없을 때까지 반복합니다. 반복 후엔 뒤에서부터 하나씩 출력해줘야 합니다.
2024.01.29 -
단계별로 풀어보기 > 단계 8: 일반 수학 > 2745번 #2745: 진법 변환 n, b = input().split() sum = 0 number = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' n = n[::-1] for i,j in enumerate(n): sum += (int(b)**i)*(number.index(j)) print(sum) 진법에 대한 사전 지식이 필요합니다. 이 블로그의 도움을 받았습니다. 진법, 진수 비트(이진법의 숫자 BInary digiT 의 줄임말): 0,1정보의 최소 단위바이트: 8비트의 한 묶음컴퓨터는 모든 정보를 숫자 0과 1만으로 다루고, 이 0과 1의 정보를 나타내는 정보의 최소 단위를 1비트라고 velog.io
[백준/Python] 2745번: 진법 변환단계별로 풀어보기 > 단계 8: 일반 수학 > 2745번 #2745: 진법 변환 n, b = input().split() sum = 0 number = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' n = n[::-1] for i,j in enumerate(n): sum += (int(b)**i)*(number.index(j)) print(sum) 진법에 대한 사전 지식이 필요합니다. 이 블로그의 도움을 받았습니다. 진법, 진수 비트(이진법의 숫자 BInary digiT 의 줄임말): 0,1정보의 최소 단위바이트: 8비트의 한 묶음컴퓨터는 모든 정보를 숫자 0과 1만으로 다루고, 이 0과 1의 정보를 나타내는 정보의 최소 단위를 1비트라고 velog.io
2024.01.29 -
단계별로 풀어보기 > 단계 7: 2차원 배열 > 2563번 #2563: 색종이 A = [[0 for i in range(100)] for i in range(100)] n = int(input()) for i in range(n): a, b = map(int, input().split()) for j in range(a, a+10): for k in range(b, b+10): A[j][k] = 1 cnt = 0 for i in range(100): cnt += sum(A[i]) print(cnt) 10x10의 2차원 행렬을 생성합니다. 이후로 색종이가 있을 부분을 1로 채우는 작업을 반복문으로 채워넣습니다. 두 번째 단일 반복문에서 이 행렬에서의 1의 개수를 반환합니다.
[백준/Python] 2563번: 색종이단계별로 풀어보기 > 단계 7: 2차원 배열 > 2563번 #2563: 색종이 A = [[0 for i in range(100)] for i in range(100)] n = int(input()) for i in range(n): a, b = map(int, input().split()) for j in range(a, a+10): for k in range(b, b+10): A[j][k] = 1 cnt = 0 for i in range(100): cnt += sum(A[i]) print(cnt) 10x10의 2차원 행렬을 생성합니다. 이후로 색종이가 있을 부분을 1로 채우는 작업을 반복문으로 채워넣습니다. 두 번째 단일 반복문에서 이 행렬에서의 1의 개수를 반환합니다.
2024.01.29 -
단계별로 풀어보기 > 단계 7: 2차원 배열 > 10798번 #10798: 세로읽기 A = [] for i in range(5): a = input() A.append(a) for i in range(15): for j in range(5): if i < len(A[j]): print(A[j][i], end='') 공백 계산을 잘 해야 합니다. 첫 번째 반복에서는 문자열을 받아 리스트에 넣고, 두 번째 이중 반복에서는 첫 번째 문자열들을 공백 없이 출력합니다.
[백준/Python] 10798번: 세로읽기단계별로 풀어보기 > 단계 7: 2차원 배열 > 10798번 #10798: 세로읽기 A = [] for i in range(5): a = input() A.append(a) for i in range(15): for j in range(5): if i < len(A[j]): print(A[j][i], end='') 공백 계산을 잘 해야 합니다. 첫 번째 반복에서는 문자열을 받아 리스트에 넣고, 두 번째 이중 반복에서는 첫 번째 문자열들을 공백 없이 출력합니다.
2024.01.29 -
단계별로 풀어보기 > 단계 7: 2차원 배열 > 2566번 #2566: 최댓값 A = [] M = 0 a = 0 b = 0 for i in range(9): A.append(list(map(int, input().split()))) for i in range(9): for j in range(9): if A[i][j] >= M: M = A[i][j] a = i+1 b = j+1 print(M) print(a, b) 이중 반복을 통해 81개 문자를 받습니다. 각 반복에서 원소가 최댓값보다 크면 해당 값과 인덱스를 저장합니다.
[백준/Python] 2566번: 개수 세기단계별로 풀어보기 > 단계 7: 2차원 배열 > 2566번 #2566: 최댓값 A = [] M = 0 a = 0 b = 0 for i in range(9): A.append(list(map(int, input().split()))) for i in range(9): for j in range(9): if A[i][j] >= M: M = A[i][j] a = i+1 b = j+1 print(M) print(a, b) 이중 반복을 통해 81개 문자를 받습니다. 각 반복에서 원소가 최댓값보다 크면 해당 값과 인덱스를 저장합니다.
2024.01.29