[Programmers] ๋น„๋ฐ€์ง€๋„
ยท
๐Ÿ’ฏ CodingTest/Programmers
โ–ถ ๋ฌธ์ œ : ๋”๋ณด๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/17681 โ–ถ ์ฝ”๋“œ : def solution(n, arr1, arr2): answer = [] for i in range(n): bitStr = bin(arr1[i] | arr2[i]) temp = '' bitStr = bitStr[2:] bitStr = bitStr.rjust(n,'0') #bin() ์„ ์ด์šฉํ•˜๋ฉด ๋งจ์•ž์— 0์ธ ๋ถ€๋ถ„์„ ์—†์• ๋ฒ„๋ฆฌ๊ธฐ์— ๊ธธ์ด๋ฅผ ๋งž์ถฐ์ค˜์•ผํ•จ => ์ฃผ์˜ #bitStr์—๋Š” '0b' ๊ฐ€ ์•ž์— ํฌํ•จ๋˜์–ด์žˆ์Œ for c in bitStr: if c == '1': temp += '#' elif c == '0': temp += ' ' answer.append(temp) return a..
[Programmers] ์‹คํŒจ์œจ
ยท
๐Ÿ’ฏ CodingTest/Programmers
โ–ถ ๋ฌธ์ œ : ๋”๋ณด๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/42889 โ–ถ ์ฝ”๋“œ : def solution(N, stages): answer= [] totalUser=len(stages) count = {} for i in range(N): count[i+1] = 0 stages.sort() for stage in stages: if stage == N+1: continue else: count[stage] += 1 failure = {} for i in range(1,N+1): if totalUser == 0: failure[i] = 0 else: failure[i] = count[i]/totalUser totalUser -= count[i] answe..
[Programmers] ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„
ยท
๐Ÿ’ฏ CodingTest/Programmers
โ–ถ ๋ฌธ์ œ : ๋”๋ณด๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/64061 โ–ถ ์ฝ”๋“œ : from collections import deque def solution(board, moves): count = 0 st = deque() for num in moves: for i in range(len(board)): item = board[i][num-1] if item == 0: continue else: if len(st) != 0: recent_item = st.popleft() if recent_item == item: count += 2 else: st.appendleft(recent_item) st.appendleft(item) else: st.app..
[Programmers] ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ
ยท
๐Ÿ’ฏ CodingTest/Programmers
โ–ถ ๋ฌธ์ œ : ๋”๋ณด๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/67256 โ–ถ ์ฝ”๋“œ : keyPad = { '1' : (0,0), '2' : (0,1), '3' : (0,2), '4' : (1,0), '5' : (1,1), '6' : (1,2), '7' : (2,0), '8' : (2,1), '9' : (2,2), '*' : (3,0), '0' : (3,1), '#' : (3,2) } def solution(numbers, hand): answer='' left = '*' right = '#' for num in numbers: if num in [1, 4, 7] : answer += 'L' left = str(num) elif num in [3, 6, 9]..
[BaekJoon] 1620 ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ
ยท
๐Ÿ’ฏ CodingTest/BaekJoon
โ–ถ ๋ฌธ์ œ : ๋”๋ณด๊ธฐ https://www.acmicpc.net/problem/1620 โ–ถ ์ฝ”๋“œ : n, m = map(int, input().split()) numToName = {} nameToNum = {} question = [] nums = ['0','1','2','3','4','5','6','7','8','9'] for i in range(1,n+1): data = input() numToName[i] = data nameToNum[data.lower()] = i for i in range(m): question.append(input().lower()) for q in question: if q[0] in nums: print(numToName[int(q)]) else: print(nameTo..
[BaekJoon] 1541 ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ
ยท
๐Ÿ’ฏ CodingTest/BaekJoon
โ–ถ ๋ฌธ์ œ : ๋”๋ณด๊ธฐ https://www.acmicpc.net/problem/1541 โ–ถ ์ฝ”๋“œ : expr = input() tempExpr = '' tempNum = '' # + ๊ธฐํ˜ธ๋ฅผ ํฌํ•จํ•˜๋ฉด ๋ง์…ˆ์„ ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜ def exprSum(strData): if '+' in strData: for i in range(len(strData)): if strData[i] == '+': return str(int(strData[:i]) + int(strData[i+1:])) return strData # ์šฐ์„ ์ ์œผ๋กœ ์‹์— ํฌํ•จ๋œ + ๊ธฐํ˜ธ๋ฅผ ์ด์šฉํ•œ ๋ง์…ˆ์„ ์ง„ํ–‰ ์‹์—์„œ + ๊ธฐํ˜ธ๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์€ ๋ชจ๋‘ ๋”ํ•ด์คŒ for i in range(len(expr)): if i == len(expr) - 1: tempNum += ex..
[BaekJoon] 1463 1๋กœ ๋งŒ๋“ค๊ธฐ
ยท
๐Ÿ’ฏ CodingTest/BaekJoon
โ–ถ ๋ฌธ์ œ : ๋”๋ณด๊ธฐ https://www.acmicpc.net/problem/1463 โ–ถ ์ฝ”๋“œ : num = int(input()) data = {1:0} i = 2 while True: if i == num+1: break data[i] = data[i-1] + 1 if i % 3 == 0: data[i] = min(data[i], data[i//3] + 1) if i % 2 == 0: data[i] = min(data[i], data[i//2] + 1) i += 1 print(data[num]) โ–ถ ๋ฌธ์ œ ํ’€์ด : 1. DP ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์„œ ํ’€์ดํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 2. ์ดˆ๊ธฐ ๊ฐ’ 1์„ ์ œ์™ธํ•œ ์ดํ›„ ์ˆซ์ž(2) ๋ถ€ํ„ฐ ๋ฐ˜๋ณต์„ ์ง„ํ–‰ํ•œ๋‹ค. 3. ํ•ด๋‹น ์ˆซ์ž์—์„œ 1์„ ๋บ€ ๊ฒฝ์šฐ(์ด ๊ฒฝ์šฐ๋Š” ์ด์ „ ๊ฒฐ๊ณผ๊ฐ’์— 1์„ ๋”ํ•จ) 3์œผ๋กœ..