프로그래머스 113

[프로그래머스] 정수 삼각형

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(triangle): answer = triangle[0][0] if len(triangle) == 1: return answer d = [[0] * (i + 1) for i in range(len(triangle))] d[0][0] = triangle[0][0] for i in range(1, len(triangle)): for j in range(len(triangle[i])): if j == 0: # 삼각형 i열 0번째 d[i][j] = d[i-1][j] + triangle[i][j]; elif j == i: # 삼각형 i열 마지막 d[i][j] = d[i-1][..

[프로그래머스] 조이스틱

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges def solution(name): answer = 0 length = len(name) index = 0 move = length - 1 for i, n in enumerate(name): answer += min(ord(n) - ord('A'), ord('Z') - ord(n) + 1); index = i + 1 while index < length and ord(name[index]) == ord('A'): index += 1 move = min(move, i * 2 + length - index) move = min(move, (length - index) * 2 + i) retur..

[프로그래머스] 가장 큰 수

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript function solution(numbers) { var answer = numbers.map((number) => `${number}`).sort((a,b) => (b+a) - (a+b)).join(''); return answer.startsWith('0') ? '0' : answer; } **Python import functools def solution(numbers): if not sum(numbers): return "0" numbers = list(map(str, numbers)) numbers.sort(key = functools.cmp_to_ke..

[프로그래머스] 교점에 별 만들기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python 하는 중...! 교점까지는 접근해봤음..! def solution(line): visited = [] crossed = set() answer = [] for i, l1 in enumerate(line): for j, l2 in enumerate(line): if (i, j) in visited or (j, i) in visited: continue a, b, e = l1 c, d, f = l2 if a*d - b*c != 0: x = round((b*f - e*d)/(a*d - b*c), 2) y = round((e*c - a*f)/(a*d - b*c), 2) if x...

[프로그래머스] 이진 변환 반복

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 예전에 미리 풀었어서 몇 점 받았는지 기억이 안 남 function solution(s) { let count = 0; let zeros = 0; while (s !== "1") { zeros += (s.match(/0/g) || []).length; s = s.replace(/0/g, "").length.toString(2); count++; } return [count, zeros]; } ** Python def solution(s): c = 1 answer = [0, 0] while s != "1": zeros = [x for x in s if x == "0"..

[프로그래머스] 점프와 순간 이동

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 그냥 풀었는데 풀리길래 넘나 벙쪘 def solution(n): ans = 0 while n > 0: if n % 2: ans += 1 n -= 1 else: n //= 2 return ans 훨씬 간단한 추천 풀이 def solution(n): answer = 1 while n > 1: answer += n % 2 n = n // 2 return answer 1등 풀이 def solution(n): return bin(n).count('1') 결국 2로 안 나뉠 때만 더하면 되니까..

[프로그래머스] 괄호변환

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def get_uv(p): a = 0 for i, e in enumerate(p): if e == "(": a += 1 else: a -= 1 if a == 0: return p[:i+1], p[i+1:] def is_u_right(u): stack = [] for p in u: if p == '(': stack.append(p) else: if not stack: return False stack.pop() return True def solution(p): if p == "": return p u, v = get_uv(p) if is_u_right(u): return ..

반응형