백준 - 11005 (python) 나누기와 나머지를 사용하면 쉽게 풀린다. 마지막 문자열을 뒤집는걸 잊어버리면 안됨 N, B = map(int, input().split()) result = "" while N > 0: if N % B >= 10: result += str(chr(N % B + 55)) # 아스키코드 변환 else: result += str(N % B) N = int(N / B) print(result[::-1]) # 문자열 뒤집기 백준/일반 수학 1 2024.02.14
백준 - 2745 (python) 진법의 개념만 알면 쉽게 풀 수 있다 N, B = map(str, input().split()) listN = list(N) result = 0 for i in range(len(listN)): if listN[i] in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": # 문자일경우 result += (ord(listN[i]) - 55) * (int(B) ** (len(listN) - (i + 1))) # 아스키코드로 변환 else: #숫자일경우 result += int(listN[i]) * (int(B) ** (len(listN) - (i + 1))) print(result) 백준/일반 수학 1 2024.02.14
백준 - 2444 (python) 파이썬으로는 처음 해보는 별찍기.. 자바로는 방법이 바로 떠올랐으나 파이썬으로 언어 변경한지 얼마 안되었을때라 시간이 좀 걸렸음 count = int(input()) num1 = count - 1 for i in range(1, count * 2, +2): print(" " * num1, "*" * i) num1 -= 1 num1 += 2 for i in range((count * 2) - 3, 0, -2): print(" " * num1, "*" * i) num1 += 1 백준/심화 1 2024.02.13
백준 - 3003 (python) 기준이 되는 배열을 먼저 초기화 해 둔 후 입력받은 배열과 차이를 출력하면 됨 arr = [1, 1, 2, 2, 2, 8] A = input().split() count = 0 for i in arr: print(int(i) - int(A[count]), end=" ") count += 1 백준/심화 1 2024.02.13
백준 - 25083 (python) 간단하다 각 행을 """로 감싸줌 print(""" ,r'"7""") print("""r`-_ ,' ,/""") print(""" \. ". L_r'""") print(""" `~\/""") print(""" |""") print(""" |""") 백준/심화 1 2024.02.13
백준 - 2738 (python) 리스트 컴프리헨션 문법의 중요성을 느껴버린 문제 문제 자체는 단순하다. 2차원 배열을 초기화 후 각 인덱스끼리 더해주는 간단한 문제 # 초기 풀이 A = input() N = int(A.split()[0]) M = int(A.split()[1]) arr1 = [[0] * M for i in range(N)] arr2 = [[0] * M for i in range(N)] for i in range(N): B = input() for j in range(M): arr1[i][j] = int(B.split()[j]) for i in range(N): B = input() for j in range(M): arr2[i][j] = int(B.split()[j]) result = [[arr1[i][j] + arr2.. 백준/2차원 배열 2024.02.13
백준 - 2566 (python) 최대값 최소값 구하는 방식 그대로 인덱스 까지 변수로 담아두면 되는 간단한 문제 arr = [list(map(int, input().split())) for i in range(9)] max_val = -1 row_index = 0 col_index = 0 for i in range(9): for j in range(9): if max_val < arr[i][j]: max_val = arr[i][j] row_index = i+1#출력 조건때문에 1씩 더해줌 col_index = j+1 print(max_val) print(row_index, col_index) 백준/2차원 배열 2024.02.13
백준 - 10798 (python) 행 마다 배열들의 길이가 다른게 포인트 조건문만 걸어주면 되는 쉬운 문제 arr = [input() for i in range(5)] # 배열 초기화 for i in range(15): for j in range(5): if i < len(arr[j]): # 조건문을 통해 i가 j행의 길이를 넘으면 패스 print(arr[j][i], end="") 백준/2차원 배열 2024.02.13
백준 - 2563 (python) 문제를 보고 처음에 수학적인 방법으로 접근할려다보니 막막했다. 정답은 픽셀단위로 접근하는것 arr = [[0]*100 for i in range(100)] # 100이라는 제한조건을 통해 0으로 구성된 100 * 100 배열 초기화 # 입력 받기 for i in range(int(input())): x, y = map(int, input().split())# x축, y축 입력받아 for i in range(x, x + 10):# 색종이 크기인 10만큼 반복 for j in range(y, y + 10): arr[i][j] = 1# 해당하는 범위만 1로 업데이트 # 값이 1인 것의 수 세기 count = sum(sum(i) for i in arr) # 결과 출력 print(count) 백준/2차원 배열 2024.02.13