본문 바로가기

CodingTest

(238)
[ SW Expert Academy ] 1946. 간단한 압축 풀기 1차 제출 [ 10 / 10 ] PASS ㅋㅋ 되게 재밌게 풀었다. 이 문제 왜 마음에 들지..? 그냥 이제는 인덱스를 좀 다루는 스스로에게 뿌듯한건가 히히 ^_^ T = int(input()) for tc in range(1, T+1): print("#"+str(tc)) n = int(input()) original = '' total_len = 0 for i in range(n): c, k = input().split() original += c*int(k) total_len += int(k) for i in range(total_len//10): print(original[i*10:i*10+10]) print(original[-(total_len%10):])
[ SW Expert Academy ] 1970. 쉬운 거스름돈 1차 제출. [ 10 / 10 ] PASS T = int(input()) for tc in range(1, T+1): n = int(input()) result = [] money = [50000, 10000, 5000, 1000, 500, 100, 50, 10] for m in money: if n >= m: result.append(n//m) n %= m else: result.append(0) print("#"+str(tc)) print(' '.join(list(map(str, result))))
[ SW Expert Academy ] 1986. 지그재그 숫자 1차 제출. [ 10 / 10 ] PASS 엥 .. 얘는 D2가 아니라 D1수준인데.. T = int(input()) for tc in range(1, T+1): n = int(input()) result = 0 for i in range(1, n+1): if i % 2 != 0: result += i else: result -= i print("#{} {}".format(tc,result))
[ SW Expert Academy ] 1961. 숫자 배열 회전 1차 제출. [ 10 / 10 ] PASS 아이구 시간 좀 걸렸다. 순간 90도 회전 함수 만들 때 인덱스 값이 헷갈려서 .. ㅠㅜㅠ ;; ㅎㅎㅎ [j][n-i-1] 을 [j][n-i+1]로 해서 인덱스 터짐ㅎ; 그래도 나름 깔끔하게 마무리했다. def turn_90(board, n): temp = [[0]*n for _ in range(n)] for i in range(n): for j in range(n): temp[j][n-i-1] = board[i][j] return temp T = int(input()) for tc in range(1, T+1): print("#{}".format(tc)) n = int(input()) board = [list(input().split()) for _ in ra..
[ SW Expert Academy ] 1959. 두 개의 숫자열 1차 제출. [ 10 / 10 ] PASS 어.. 금방 끝났다! 히히 T = int(input()) for tc in range(1, T+1): n, m = map(int, input().split()) a = list(map(int, input().split())) b = list(map(int, input().split())) if n > m: long, short = a, b else: long, short = b, a result = 0 for i in range(len(long)-len(short)+1): temp = 0 for j in range(len(short)): temp += long[i:i+len(short)][j]*short[j] result = max(result, temp) pr..
[ SW Expert Academy ] 1983. 조교의 성적 매기기 음 .. 생각보다는 풀이에 시간이 조금 걸려서 아쉽다.. 1차 제출. [ 10 / 10 ] PASS T = int(input()) for tc in range(1, T+1): n, k = map(int, input().split()) score = ['A+', 'A0', 'A-', 'B+', 'B0', 'B-', 'C+', 'C0', 'C-', 'D0'] students = [list(map(int, input().split()))for _ in range(n)] # 중간, 기말, 과제 for i in range(n): middle, final, assignment = students[i] total = middle * (35/100) + final * (45/100) + assignment * (20/..
[ SW Expert Academy ] 1979. 어디에 단어가 들어갈 수 있을까 * 다시 풀기 * 보호되어 있는 글입니다.
[ SW Expert Academy ] 1989. 초심자의 회문 검사 # 1차 제출 [ 10 / 10 ] PASS 회문.. 팰린드롬 알고리즘이나 뭐 떠오르기는 했는데, 문제부터가 초심자 언급하고, 단어 길이가 10 이하의 간단한 문자열이라 그냥 앞 뒤 직접 비교를 수행했다. T = int(input()) for tc in range(1, T+1): input_str = input() answer = 1 for i in range(len(input_str)//2): if input_str[i] != input_str[-i-1]: answer = 0 break print('#{} {}'.format(tc,answer))
[ SW Expert Acadmey ] 2007. 패턴 마디의 길이 1차 제출 [ 10 / 10 ] PASS 문자열 패턴 매칭 문제치고 단순해서 그냥 간단하게 처리했다. T = int(input()) for tc in range(1, T+1): input_str = input() answer = 0 madi = input_str[0] for i in range(1, len(input_str)): char = input_str[i] if char != madi[0]: madi += char else: if madi == input_str[i:i+len(madi)]: answer = len(madi) break else: madi += char print('#{} {}'.format(tc,answer))
[ SW Expert Academy ] 1974. 스도쿠 검증 1차 제출 [ 9 / 10 ] Fail 아ㅏㅇ아ㅏ아아아.. 제발 ,. ㅠㅜㅠㅜㅠ 하나 틀린 거 뭔데 ... ㅠㅠㅜㅠ T = int(input()) for tc in range(1, T+1): board = [list(map(int, input().split())) for _ in range(9)] answer = 1 col = [list() for _ in range(9)] sdokuPossible = True for i in range(9): if len(set(board[i])) != 9: sdokuPossible = False break for j in range(9): col[j].append(board[i][j]) for j in range(9): if len(set(col[j])) != 9: ..