본문 바로가기

개발/알고리즘131

[프로그래머스][LEVEL1] 수박수박수박수박수박수? # 문제 원문 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. # 문제 풀이 수박수~ 입력 받은 n은 만큼의 길이를 가진 수박 문자열을 만들면 되는 간단한 문제이다. repeat나 padEnd 같은 문자열 내장 메서드들로 간단히 풀 수 있는 문제. 나는 심심해서 배열로 만들고 reduce로 풀었다. (비효율적) # 솔루션 플로우 1. 입력 받은 n만큼의 "수박"이 반복 되는 문자열을 만들어준다. 2. 구해진 result를 반환한다. 1. 무지성 reduce 풀이 function solution(n).. 2021. 8. 19.
[프로그래머스][LEVEL1] 두 정수 사이의 합 # 문제 원문 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a / b / return 3 5 12 3 3 3 5 3 12 # 문제 풀이 입력 받은 a,b를 범위로 모든 수들을 합해서 그 합을 반환하는 문제, 가우스 공식에 대해서 잘 아는 사람이면 쉽게 풀 수 있지만, 난 생각도 못해서 반복문을 이용해서 풀었다. 입력받은 a === b가 같으면 a를 .. 2021. 8. 19.
[프로그래머스][LEVEL1] 정수 내림차순으로 배치하기 # 문제 원문 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.제한 조건 n은 1이상 8000000000 이하인 자연수입니다. 입출력 예 n / return 118372 873211 # 문제 풀이 입력 받은 정수 n의 각 자릿수들을 배열로 만들어서 정렬한 후 합쳐서 반환하는 문제이다. 간단히 형변환해서 풀면 된다. 입력 받은 정수 n을 문자열로 형변환한 후 쪼개서 배열로 만들고 sort(b - a)로 정렬후 합쳐서 반환하면 끝. # 솔루션 플로우 1. 입력 받은 정수 n을 문자열로 형변환한다. 2. 형변환 된 문자열 n을 쪼개서 배열로 만든다. 3. 문자열 배열.. 2021. 8. 19.
[프로그래머스][LEVEL1] 자릿수 더하기 # 문제 원문 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.제한사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 N / answer 123 6 987 24 # 문제 풀이 입력 받은 정수 n의 각 10의 배수 자리마다의 수를 쪼개서 합한후 그 합을 반환하는 문제이다. 간단히 푸는 방법으로는 문자열로 변환후 각 자릿수를 합해주는 방법이 있고, 형변환 없이 푸는 방법으로는 입력 받은 정수 n 을 10으로 나눈 나머지를 계속 더해주면서 n - 나머지 / 10으로 n이 0이 될때까지 반복한 후 얻어진 결과를 반환하면 된다. JS 기준으로 코드가 깔끔하기로.. 2021. 8. 19.