본문 바로가기

Algorithm42

[프로그래머스 JS] 겹치는 선분의 길이 문제 더보기 문제 설명 선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요. lines가 [[0, 2], [-3, -1], [-2, 1]]일 때 그림으로 나타내면 다음과 같습니다. 선분이 두 개 이상 겹친 곳은 [-2, -1], [0, 1]로 길이 2만큼 겹쳐있습니다. 제한사항 lines의 길이 = 3 lines의 원소의 길이 = 2 모든 선분은 길이가 1 이상입니다. lines의 원소는 [a, b] 형태이며, a, b는 각각 선분의 양 끝점 입니다. -.. 2022. 12. 13.
[프로그래머스 JS] 유한소수 판별하기 정말 많은 반례가 있었던 문제... 정수일 때는 무조건 유한소수!! 그리고 최대공약수 구하는 건 정말 외워둬야겠다 ㅎㅎ 다른 로직 짰다가 뒤엉키고 시간 복잡도 올라가고.... 그리고 짧은 로직으로 구현할 수 있다면 따로 함수를 거창하게 파는 것은 지양해야 겠다고 생각했다. 문제 더보기 유한소수 판별하기 문제 설명 소수점 아래 숫자가 계속되지 않고 유한개인 소수를 유한소수라고 합니다. 분수를 소수로 고칠 때 유한소수로 나타낼 수 있는 분수인지 판별하려고 합니다. 유한소수가 되기 위한 분수의 조건은 다음과 같습니다. 기약분수로 나타내었을 때, 분모의 소인수가 2와 5만 존재해야 합니다. 두 정수 a와 b가 매개변수로 주어질 때, a/b가 유한소수이면 1을, 무한소수라면 2를 return하도록 solution.. 2022. 12. 13.
[프로그래머스 JS] 옹알이 (1) 프로그래머스 코딩테스트 입문 문제 중에 가장 정답률이 낮았던 문제! 근데 정답률 60퍼 문제가 더 어려운 거 같은데 엥 문제 더보기 옹알이 (1) 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다.. 2022. 12. 13.
[프로그래머스 JS] 연속된 수의 합 이번 문제를 풀면서 느낀 점은 어차피 내가 짠 코드를 내가 계산하는 게 아니라 컴퓨터가 계산하기 때문에 넓은 범위의 숫자를 걱정할 필요가 없다는 것이었다. 내가 고려해야 할건 그저 복잡도 정도인 것이다. 10000번이나 반복문을 돌려도 되나? 싶었는데 생각해보니 어차피 복잡도는 O(n)이어서 금방 돌릴 것 같아 그 방법을 사용하였다. 문제의 제한 사항을 보면 숫자가 1~1000 사이였기 때문에 반복문을 돌려주는 숫자도 그정도 범위로 정해주었다. 문제 더보기 연속된 수의 합 문제 설명 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solut.. 2022. 12. 13.