본문 바로가기

코딩테스트166

[ 파이썬(Python) ] 나머지(%) 사용할 때 조건 추가하기 📍 나머지(%) 사용할 때 조건 추가하기 저번에 풀었던 boj 1009 - 분산처리 문제와 이것과 비슷했던문제인 boj 10250 - ACM 호텔 역시 동일하게 나머지(%)를 사용하면 나머지 조건을 추가해줘야 한다. 예를 들어, arr = [-3333, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ...] 처럼 표현하고 싶다면 (arr[1]부터 세기 위해 arr[0]에 -3333을 넣었다.) 해당 패턴은 index의 값은 10으로 나눈 나머지가 될 것이다. 하지만 단순하게 나머지 값만 추가하면 arr[10]은 10이 아니라 0이 된다. 이 때문에 나머지를 사용해서 수를 셀 때는 나머지 조건을 붙여줘야 한다. 다음 코드처럼 말이다. index.. 2021. 6. 7.
[ 파이썬(Python) ] 여러 줄 문자열 입력에서 좌우, 상하 반전 출력하기 📍 여러 줄 문자열 입력에서 좌우, 상하 반전 출력하기 보통 여러줄(n*n 크기)로 문자열을 입력받을 때의 좌우, 상하 반전 방법이다. 코드가 짧기 때문에 외워두면 좋을 것 같다. s = ['ABC', 'DEF', 'GHI'] # 그대로 출력 print(*s, sep='\n') 👉🏽 ABC DEF GHI # 좌우 반전 print(*[i[::-1] for i in s], sep='\n') 👉🏽 CBA FED IHG # 상하 반전 print(*s[::-1], sep='\n') 👉🏽 GHI DEF ABC 2021. 6. 7.
[ 파이썬(python) ] 백준 3047 - ABC 📍 백준 3047 - ABC 백준 3047 - ABC ⚡️ 나의 풀이 문제 따라 대소관계를 비교하면 C > B > A가 된다. 그런데, 입력에서 주어진 순서대로 출력해야하므로 반복문 + 조건문을 사용하여 출력했다. # 나의 코드 arr = list(map(int, input().split())) arr.sort() A, B, C = arr for i in input(): if i == 'A': print(A, end=' ') elif i == 'B': print(B, end=' ') else: print(C, end=' ') # 나의 다른 코드 arr = list(map(int, input().split())) A = min(arr) C = max(arr) arr.remove(A) arr.remove(C.. 2021. 6. 7.
[ 파이썬(python) ] 백준 1076 - 저항 📍 백준 1076 - 저항 백준 1076 - 저항 ⚡️ 나의 풀이 저항 문제의 핵심은 첫 번째와 두 번째 색은 더해주고 마지막 색은 곱해주는 방법인데, 무작정 str형으로 바꿔 더해주는 방법만 생각했다. 그것보다 첫 번째 색에 10을 곱하고 두 번째 색은 그대로 더해주는 게 가독성이 더 좋았다. 그리고 10의 거듭제곱을 이용하면 쉽게 계산 할 수 있는데 규칙을 파악하지 못해 resisters[color][2]에 무작정 10의 거듭제곱을 넣었다. 다른 사람의 코드를 보니까 규칙의 중요성을 한번 더 느꼈다. # 나의 코드 colors = [input() for _ in range(3)] resisters = {'black': [0, 1], 'brown': [1, 10], 'red': [2, 100], 'or.. 2021. 6. 7.
[ 파이썬(python) ] 백준 1009 - 분산처리 📍 백준 1009 - 분산처리 백준 1009 - 분산처리 ⚡️ 나의 풀이 문제 자체는 어렵지 않았다. 단순하게 a ** b % 10을 구하면 되는 문제였는데, 2가지를 신경 쓰지 못했다. 정수 b의 범위: 1 2021. 6. 7.