본문 바로가기

반응형

프로그래머스

[프로그래머스] 시소 짝꿍 문제_ https://school.programmers.co.kr/learn/courses/30/lessons/152996 레벨2 풀이_ 두 명이 각각 시소에 앉아, 평형을 이루는지를 확인 무게가 각각 x y이고 위치가 각각 a b라고 할 때, 평형상태일 수 있는 조건: x * a = y * b 즉 y의 무게는 x * a / b x의 무게를 알고 있을 때 y의 무게를 구하려면 a와 b에 값을 일일이 넣어보아야 한다. x와 y를 각각 집어 계산을 진행해야하므로, O(n^2) 2에서 구한 y의 무게는 정수여야 하며, weights의 안에 있어야 한다. weights를 탐색하는 시간을 줄이면 O(n) 시간에 계산이 가능 상수 시간에 검색할 수 있도록 weights의 값을 보관하는 map 생성 { 몸무게: 해당.. 더보기
[프로그래머스] 124 나라의 숫자 문제_ https://school.programmers.co.kr/learn/courses/30/lessons/12899 레벨2 풀이_ 1, 2, 4 3개의 수를 이용한다. -> 3진법 3진법과 달리 3은 자릿수를 바꾸지 않고 4로 표현한다. -> 3은 4로, 6은 14로, 9는 24로 표현 n % 3 = 1은 1, n % 3 = 2는, 그리고 n % 3 = 0는 4로 표현된다 -> [4, 1, 2] 배열의 인덱스가 3으로 나눈 나머지. 배열의 값이 나머지가 나타내는 숫자 3의 배수의 경우, 자릿수를 바꾸지 않고 같은 자릿수로 표현해야 한다 -> 다음 숫자를 구할 때 3으로 나누어 떨어지지 않게, 1을 뺀 값을 나눔 def solution(n): digits = ('4', '1', '2') answer .. 더보기