Algorithm 18

위쪽과 왼쪽에 곱하는 수가 있는 곱셈표(구구단) 출력하기

Doit! 자료구조와 함께 배우는 알고리즘 입문 [자바편]01장 기본 알고리즘 연습문제 Q12오른쪽과 같이 위쪽과 왼쪽에 곱하는 수가 있는 곱셈표를 출력하는 프로그램을 작성하세요.(구분선은 수직선 기호(|), 마이너스 기호(-), 플러스 기호(+)를 사용하세요) 1234567891011 | 1 2 3 4 5 6 7 8 9-+---------------------------1 1 2 3 4 5 6 7 8 92 2 4 6 8 10 12 14 16 183 3 6 9 12 15 18 21 24 274 4 8 12 16 20 24 28 32 365 5 10 15 20 25 30 35 40 456 6 12 18 24 30 36 42 48 547 7 14 21 28 35 42 49 56 638 8 16 24 32 4..

Algorithm 2019.03.26

[백준알고리즘] 1193번 / 분수찾기

https://www.acmicpc.net/problem/1193 내 코드num = int(input()) up = [] down = [] for i in range(1, 10000001): if i % 2 == 0: # 짝수일 경우 up += [j for j in range(1, i+1)] down += [j for j in range(i, 0, -1)] else: # 홀수일 경우 down += [j for j in range(1, i+1)] up += [j for j in range(i, 0, -1)] if len(up) >= num: print(str(up[num-1])+'/'+str(down[num-1])) break 아래와 같은 순서대로 배열의 분수에 번호가 매겨진다.1 / 11 / 22 / 1..

Algorithm 2017.10.25

[백준알고리즘] 2908번 / 상수 (python3)

https://www.acmicpc.net/problem/2908 내 코드nums = [list(x) for x in input().split()] a = '' b = '' for j in range(2, -1, -1): a += nums[0][j] b += nums[1][j] if a > b: print(a) else: print(b) 숏코딩 print(max(input()[::-1].split())) arr[::-1] 처음봤다. 처음부터 끝까지 -1칸 간격으로, 즉 역순으로 정렬하도록 하는 것이다. 이렇게 쓰는걸 Extended Slices라고 하는데, arr[A:B:C] 로 A, B, C의 조건에 맞춰서 배열을 만들어주는 것이다.파이썬에서는 문자열도 배열로 처리할 수 있기 때문에 input()으로 ..

Algorithm 2017.10.12

[카카오 신입 공채 1차] 2번 다트 게임 풀이

나의 코드import re def solution(dartResult): answer = 0 # 다트점수는 숫자, 문자, (특스문자)로 이루어져있다 - 정규표현식을 쓰는게 빠를듯 p1 = re.compile("(\d+)([a-zA-Z])") p2 = re.compile("(\d+)([a-zA-Z])+(\*|#)") # 문자를 나누면 한 세트씩 배열에 넣어 계산한다 [[점수1], [점수2], [점수3]] scores = p1.findall(dartResult) options = p2.findall(dartResult) # pow(숫자, 문자) * (옵션) result = [] for score, bonus in scores: if bonus == 'S': bonus = 1 elif bonus == 'D':..

Algorithm 2017.10.11

[카카오 신입 공채 1차] 1번 비밀지도 풀이

나의 코드def solution(n, arr1, arr2): answer = [] # arr의 각 요소 x를 2진수로 바꾼다 # arr1과 arr2의 숫자의 길이가 다르면? 2진수로 바꿀 때 무조건 n의 길이로 채워준다 arr11 = [format(int(bin(x)[2:]), '0={}'.format(n)) for x in arr1] arr22 = [format(int(bin(x)[2:]), '0={}'.format(n)) for x in arr2] for i in range(n): # arr1, 2에서 각각의 요소를 꺼내 비교한다 #: 각각 배열 하나씩 꺼낸다 a = arr11[i] b = arr22[i] # 자릿수를 비교하며 둘중에 하나라도 1이면 #을 추가 아니면 0 추가 ans = '' for ..

Algorithm 2017.10.11

[백준알고리즘] 2675번 / 문자열 반복 (python3)

https://www.acmicpc.net/problem/2675 내 코드# 테스트케이스 개수 입력받기cnt = input() # 반복횟수와 문자열을 받는다for _ in range(int(cnt)): case = input() case = case.split() # 입력받은 문자열의 문자를 입력받은 횟수만큼 반복해서 출력한다 text = '' for c in case[1]: text += c*int(case[0]) print(text) 숏코딩 exec("r,_,*s=input();print(''.join(i*int(r)for i in s));"*int(input())) 숏코딩봐도 뭐라는지 모르겠다.. 도랏ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

Algorithm 2017.09.08