languages/coding test
-
단계별로 풀어보기 > 단계 7: 2차원 배열 > 10809번 #2738: 행렬 덧셈 a, b = map(int, input().split()) A = [] B = [] for i in range(a): A.append(list(map(int, input().split()))) for i in range(a): B.append(list(map(int, input().split()))) for i in range(a): for j in range(b): print(A[i][j] + B[i][j], end=" ") print() 2차원 행렬 개념이 등장합니다. 각 입력을 list에 append로 넣습니다. 이중 반복을 이용하여 i열의 j번째 원소끼리 덧셈을 실시합니다.
[백준/Python] 2738번: 행렬 덧셈단계별로 풀어보기 > 단계 7: 2차원 배열 > 10809번 #2738: 행렬 덧셈 a, b = map(int, input().split()) A = [] B = [] for i in range(a): A.append(list(map(int, input().split()))) for i in range(a): B.append(list(map(int, input().split()))) for i in range(a): for j in range(b): print(A[i][j] + B[i][j], end=" ") print() 2차원 행렬 개념이 등장합니다. 각 입력을 list에 append로 넣습니다. 이중 반복을 이용하여 i열의 j번째 원소끼리 덧셈을 실시합니다.
2024.01.29 -
단계별로 풀어보기 > 단계 6: 심화 1 > 25206번 #25206: 너의 평점은 sum = 0 sum2 = 0 for i in range(20): a, b, c = input().split() if c == 'A+': sum = sum + float(b) * 4.5 sum2 += float(b) elif c == 'A0': sum = sum + float(b) * 4.0 sum2 += float(b) elif c == 'B+': sum = sum + float(b) * 3.5 sum2 += float(b) elif c == 'B0': sum = sum + float(b) * 3.0 sum2 += float(b) elif c == 'C+': sum = sum + float(b) * 2.5 sum2 +=..
[백준/Python] 25206번: 너의 평점은단계별로 풀어보기 > 단계 6: 심화 1 > 25206번 #25206: 너의 평점은 sum = 0 sum2 = 0 for i in range(20): a, b, c = input().split() if c == 'A+': sum = sum + float(b) * 4.5 sum2 += float(b) elif c == 'A0': sum = sum + float(b) * 4.0 sum2 += float(b) elif c == 'B+': sum = sum + float(b) * 3.5 sum2 += float(b) elif c == 'B0': sum = sum + float(b) * 3.0 sum2 += float(b) elif c == 'C+': sum = sum + float(b) * 2.5 sum2 +=..
2024.01.29 -
단계별로 풀어보기 > 단계 6: 심화 1 > 1316번 #1316: 그룹 단어 n = int(input()) cnt = n for i in range(n): a = input() for j in range(len(a)-1): if a[j] == a[j+1]: continue elif a[j] in a[j+1:]: cnt -= 1 break print(cnt) 사실 문제를 이해하는 것부터 좀 어려웠습니다. 전체 n에서 해당하지 않는 것을 빼는 반복문을 만드는 게 좋습니다.
[백준/Python] 1316번: 그룹 단어 체커단계별로 풀어보기 > 단계 6: 심화 1 > 1316번 #1316: 그룹 단어 n = int(input()) cnt = n for i in range(n): a = input() for j in range(len(a)-1): if a[j] == a[j+1]: continue elif a[j] in a[j+1:]: cnt -= 1 break print(cnt) 사실 문제를 이해하는 것부터 좀 어려웠습니다. 전체 n에서 해당하지 않는 것을 빼는 반복문을 만드는 게 좋습니다.
2024.01.29 -
단계별로 풀어보기 > 단계 6: 심화 1 > 2941번 #2941: 크로아티아 알파벳 croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] a = input() for i in croatia: a = a.replace(i, ".") print(len(a)) 특수 문자를 사전 정의한 뒤 해당 글자들이 문자열에 등장한다면 한 글자(.)로 변환합니다.
[백준/Python] 2941번: 크로아티아 알파벳단계별로 풀어보기 > 단계 6: 심화 1 > 2941번 #2941: 크로아티아 알파벳 croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] a = input() for i in croatia: a = a.replace(i, ".") print(len(a)) 특수 문자를 사전 정의한 뒤 해당 글자들이 문자열에 등장한다면 한 글자(.)로 변환합니다.
2024.01.29 -
단계별로 풀어보기 > 단계 6: 심화 1 > 1157번 #1157: 단어 공부 a = input() a = a.lower() cnt = [] word = list(set(a)) for i in word: c = a.count(i) cnt.append(c) if cnt.count(max(cnt)) > 1: print("?") else: print(word[cnt.index(max(cnt))].upper()) 문자열을 전부 소문자로 변환한 다음 문자열 반복을 시행합니다.
[백준/Python] 1157번: 단어 공부단계별로 풀어보기 > 단계 6: 심화 1 > 1157번 #1157: 단어 공부 a = input() a = a.lower() cnt = [] word = list(set(a)) for i in word: c = a.count(i) cnt.append(c) if cnt.count(max(cnt)) > 1: print("?") else: print(word[cnt.index(max(cnt))].upper()) 문자열을 전부 소문자로 변환한 다음 문자열 반복을 시행합니다.
2024.01.29 -
단계별로 풀어보기 > 단계 6: 심화 1 > 10988번 #10988: 팰린드롬 a = input() a_copy = [] for i in range(len(a)): a_copy.append(a[i]) b = a_copy[::-1] sum = 0 for i in range(len(a)): if a_copy[i] == b[i]: sum = sum + 0 else: sum = sum + 1 if sum == 0: print(1) else: print(0) 입력받은 문자열의 카피본을 만들어서 원래 문자열과 하나씩 비교합니다. 반복문 중 일치하지 않는 문자가 있다면 sum에 하나씩 저장합니다. sum이 1 이상이면 0을, 전부 일치해서 sum=0이면 1을 출력합니다.
[백준/Python] 10988번: 팰린드롬인지 확인하기단계별로 풀어보기 > 단계 6: 심화 1 > 10988번 #10988: 팰린드롬 a = input() a_copy = [] for i in range(len(a)): a_copy.append(a[i]) b = a_copy[::-1] sum = 0 for i in range(len(a)): if a_copy[i] == b[i]: sum = sum + 0 else: sum = sum + 1 if sum == 0: print(1) else: print(0) 입력받은 문자열의 카피본을 만들어서 원래 문자열과 하나씩 비교합니다. 반복문 중 일치하지 않는 문자가 있다면 sum에 하나씩 저장합니다. sum이 1 이상이면 0을, 전부 일치해서 sum=0이면 1을 출력합니다.
2024.01.29 -
단계별로 풀어보기 > 단계 6: 심화 1 > 2444번 #2444: 별 찍기 - 7 n = int(input()) for i in range(n-1): print(" "*(n-i-2), "*"*(2*(i+1)-1)) print("*"*(2*n-1)) for i in range(n-1): print(" "*(i), "*"*(2*(n-i-1)-1)) 이중 반복문을 사용하는 것보다 *로 하는 방법이 알아보기가 쉬웠습니다. 반복 횟수만 적절히 정해 주면 어렵지 않은 문제입니다.
[백준/Python] 2444번: 별 찍기단계별로 풀어보기 > 단계 6: 심화 1 > 2444번 #2444: 별 찍기 - 7 n = int(input()) for i in range(n-1): print(" "*(n-i-2), "*"*(2*(i+1)-1)) print("*"*(2*n-1)) for i in range(n-1): print(" "*(i), "*"*(2*(n-i-1)-1)) 이중 반복문을 사용하는 것보다 *로 하는 방법이 알아보기가 쉬웠습니다. 반복 횟수만 적절히 정해 주면 어렵지 않은 문제입니다.
2024.01.29 -
단계별로 풀어보기 > 단계 6: 심화 1 > 3003번 #3003: 킹, 퀸, 룩, 비숍, 나이트, 폰 a, b, c, d, e, f = map(int, input().split()) print(1-a, 1-b, 2-c, 2-d, 2-e, 8-f) 각 숫자에서 입력받은 숫자를 빼주면 됩니다.
[백준/Python] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰단계별로 풀어보기 > 단계 6: 심화 1 > 3003번 #3003: 킹, 퀸, 룩, 비숍, 나이트, 폰 a, b, c, d, e, f = map(int, input().split()) print(1-a, 1-b, 2-c, 2-d, 2-e, 8-f) 각 숫자에서 입력받은 숫자를 빼주면 됩니다.
2024.01.28