문제 설명 : 가장 큰 수 찾기
정수 배열 array가 매개변수로 주어질 때,
가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하는 solution 함수는???
제한사항
- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array 원소 ≤ 1,000
- array에 중복된 숫자는 없습니다.
입출력 예
array | result |
[1, 8, 3] | [8, 1] |
[9, 10, 11, 8] | [11, 2] |
문제 풀이
큰 수를 구해주는 Math.max와 배열을 흩뿌려주는 '...' 스프레드 연산자를 사용한 후 배열에 값을 넣어서 풀었다.
function solution(array) {
return [Math.max(...array),array.indexOf(Math.max(...array))]
}
문제 설명 : 약수 구하기
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return 하는 solution함수???
제한사항
- 1 ≤ n ≤ 10,000
입출력 예
n | result |
24 | [1, 2, 3, 4, 6, 8, 12, 24] |
29 | [1, 29] |
문제 풀이
n을 1~n까지의 숫자로 나눴을때 나머지가 0이면 반환할 배열에 넣어줬다.
function solution(n) {
var answer = [];
for(let i = 1; i<=n ; i++){
if(n%i === 0){
answer.push(i)
}
}
return answer;
}
문제 설명 : 한 번만 등장한 문자
문자열 s가 매개변수로 주어집니다.
s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하는 solution함수???
한 번만 등장하는 문자가 없을 경우 빈 문자열을 return한다.
제한사항
- 0 < s의 길이 < 1,000
- s는 소문자로만 이루어져 있다.
입출력 예
s | result |
"abcabcadc" | "d" |
"abcd" | "abcd" |
"hello" | "eho" |
문제 풀이
indexOf는 처음부터 문자가 어느 위치에 있는지 찾고, lastIndexOf는 끝에서부터 찾는다.
두 개의 인덱스의 위치가 같을 경우에는 하나만 존재하는 것이기 때문에 배열에 push 해준다.
배열로 만들어 준 이유는 오름차순으로 바꿔야 하기 때문에 일단 배열로 반환
sort로 오름차순 해주고, join으로 문자열로 만들어줬다.
function solution(s) {
var answer = [];
for(let i=0; i< s.length; i++) {
if(s.indexOf(s[i]) === s.lastIndexOf(s[i])) {
answer.push(s[i])
}
}
return answer.sort().join("");
}
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
320x100
'Programmers' 카테고리의 다른 글
Programmers 문제 풀이 29 (0) | 2023.06.27 |
---|---|
Programmers 문제 풀이 28 (0) | 2023.06.24 |
Programmers 문제 풀이 26 (0) | 2023.06.22 |
Programmers 문제 풀이 25 (0) | 2023.06.21 |
Programmers 문제 풀이 24 (0) | 2023.06.20 |