[Baekjoon] 9095번 1, 2, 3 더하기
·
💯 CodingTest/BaekJoon
▶ 문제 : https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net => 기존 백준 문제를 Javascript를 이용해 풀이하였었는데, 입출력관련해서 맞게 풀어도 틀리다 나오는 경우가 있어서 백준의 경우는 python을 사용해서 풀이하기로 결정하였다. ▶ 코드 : # https://www.acmicpc.net/problem/9095 # 백준 1, 2, 3 더하기 T = int(input()) testCase = [] for t in range(T): testCase.append(int(input())) maxNum = max(testCase) dp ..
[Programmers] 다트게임
·
💯 CodingTest/Programmers
▶ 문제 : 더보기 https://programmers.co.kr/learn/courses/30/lessons/17682 ▶ 코드 : def solution(dartResult): numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] divided = [] answer = [] temp = '' for i in range(len(dartResult)): if dartResult[i] in numbers and i == 0: temp += dartResult[i] elif dartResult[i] in numbers and dartResult[i-1] not in numbers: divided.append(temp) temp = dartRe..
[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..
[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..