본문 바로가기

프로그래머스26

[ 프로그래머스 ] JS - 두 개 뽑아서 더하기 문제  풀이1. 이중 for문을 돌려 요소의 처음 위치와 요소의 다음 위치들의 합을 모두 구해 answer 배열에 넣어준다.2. 중복된 수를 제거한다.3. 오름차순으로 정렬해 배열에 담는다.여기서 제일 중요한 작업은 중복된 수를 제거하는 것이라고 생각하고 이 과정에서 좀 애를 먹었기도 했다.중복된 수를 제거하는 방법에는 2가지가 있는데 이번에는 이 두 가지에 대해서 알아 보려고 한다!1. filter와 indexOf를 이용해 중복된 수 제거하기return answer.filter((x,idx)=> answer.indexOf(x) === idx)​ 122343- 위의 전체 테이블의 배열을 answer- 배열 안의 요소를 x- 배연 안 요소의 인덱스를 idx 라고 칭하겠다.여기서 filter를 통해 다음과 .. 2024. 8. 16.
[ 프로그래머스 ] 정수 내림차순으로 배치하기 문제 풀이 1. n을 문자열로 바꾼 후 2. split을 이용하여 배열로 바꿔준다. 3. 그 후 sort로 배열을 정렬하기 4. 정렬해준 배열을 for문을 돌려 역수로 만듦 5. 만들어준 배열을 long 타입으로 변환시켜준다. 결과 (자바) import java.util.Arrays; class Solution { public long solution(long n) { String answer = ""; String[] str = String.valueOf(n).split(""); Arrays.sort(str); for(int i=str.length-1; i>=0; i--){ answer +=str[i]; } return Long.parseLong(answer); } } function solution(.. 2024. 3. 23.
[ 프로그래머스 ] n의 배수 고르기 문제 풀이 1) filter()로 numlist에서 n의 배수만 가져와 2) toArray() 배열로 만든다. 결과 import java.util.Arrays; class Solution { public int[] solution(int n, int[] numlist) { return Arrays.stream(numlist).filter(i -> i%n==0).toArray(); } } 2024. 3. 17.
[ 프로그래머스 ] 문자열 잘라서 정렬하기 문제 1) 이렇게 코드를 짜서 결과를 보니 실행은 됐지만 실행 결과에서 아예 에러가 발생했다. 알고보니 빈 문자열은 반환하지 않는다는 문제 조건을 보지 못한 탓이였다. 즉 빈 문자열이 아닌 것만 반환한다는 뜻이다. 계속해서 코드를 짜 보았는데 어떤 식으로 짜야할 지 감이 안와서 뤼튼님의 코드를 참고해서 풀어보았다. 풀이 1) split메서드를 사용해서 x를 기준으로 배열로 만들어준다! 2) .filter()로 빈 문자열이 아닌 것만 가져와 준 후 3) toArrays()로 문자열 배열을 만들어준다! 4) 마지막으로 배열의 문자열을 순차적으로 정렬해준다. (sort) 결과 import java.util.Arrays; class Solution { public String[] solution(String m.. 2024. 3. 11.