728x90
정수 제곱근 판별
function solution(n) {
return Math.sqrt(n) % 1 == 0 ? Math.pow((Math.sqrt(n) + 1),2) : -1
}
한 줄 쓰기에 재미 들려서 메서드 찾아가면서 풀었다 😆 너무 짜릿해,,,,, ㅎㅎ 이 문제를 풀기 위해서 찾은 메소드는 다음 포스팅에 정리해 두었다.
정수 내림차순으로 배치하기
function solution(n) {
return Number(n.toString().split("").sort((a,b)=>b-a).join(""))
}
sort는 무의식 저편에서 꺼내와 사용했다... 왜 이게 아직도 이해가 안 갈까 ㅠㅠ 사용하는 방식을 외워버리고 만 것이다....ㅎㅎ join 메서드는 배열을 전부 붙여 문자열로 만들어주는 거! 매개변수는 이어 붙일 때 구분자 넣는 거!! 이번엔 구분자 없이 넣었어야 했어서 빈 문자열로!!
하샤드 수
function solution(x) {
var answer = true;
let nums = x.toString().split("");
let sum = 0;
nums.forEach((el)=>{
sum += Number(el)
})
return x % sum == 0 ? true : false ;
}
나는 하샤드 수라는 말이 생소해,,,, 문제 풀이는 어렵지 않았다!
제일 작은 수 제거하기
function solution(arr) {
var answer = []
let min = arr[0]
for(let i=0; i< arr.length ; i++){
min > arr[i] ? min = arr[i] : min
}
let index = arr.findIndex((el)=>{return el == min})
arr.splice(index,1)
if(arr.length == 0) arr.push(-1)
return arr;
}
처음에 제일 작은 수를 골라내기 위해서 sort를 사용했는데, 실행하니까 전부 틀려버려서 알아보니까 배열의 순서를 건드리면 안 된다고 하더라고요,,,, 순서를 건드리지 않고 골라내는 방법을 생각해 보고 우선 첫 번째 인덱스 값을 변수 하나에 넣고, 모든 인덱스의 값과 비교해서 제일 작은 값을 넣는 방법으로 해결했다!!
그렇게 가장 작은 수의 값을 골라내고, 골라낸 값의 인덱스를 찾기 위해 findIndex를 구하고, 찾은 인덱스 값으로 splice 해서 제거까지 완료!!
두 정수 사이의 합
function solution(a, b) {
var answer = 0;
let B = 0;
let S = 0;
if(a < b){
B = b
S = a
}
else{
S = b
B = a
}
console.log(B,S)
for(let i = S; i <= B; i++){
answer += i
}
return answer;
}
콜라츠 추측
function solution(num) {
var answer = num;
let count = 0;
while(answer != 1 && count <= 500){
if(answer % 2 == 0){
answer = answer / 2
console.log("짝수 : ", answer )
count++
}
else{
answer = answer * 3 + 1
count++
}
}
if(answer == 1){
return count
}
else{
return -1
}
}
머리 안 돌아서 조금 돌아갔지만 결국 해냈다!
서울에서 김서방 찾기
function solution(seoul) {
let index = seoul.findIndex((el)=>{
return el == 'Kim'
})
return `김서방은 ${index}에 있다`;
}
728x90
'프로그래머스' 카테고리의 다른 글
[코딩테스트] 231002_핸드폰 번호 가리기, 없는 숫자 더하기, 가운데 글자 가져오기, 내적, 약수의 개수와 덧셈, 문자열 내림차순으로 배치하기 (0) | 2023.10.03 |
---|---|
[코딩테스트] 230916_나누어 떨어지는 숫자 배열, 음양 더하기 (0) | 2023.09.16 |
[코딩테스트] 230914_평균 구하기, 짝수와 홀수, 약수의 합, 자릿수 더하기, x만큼 간격이 있는 n개의 숫자, 나머지가 1이 되는 수 찾기, 수박수박수박수박수박수?, 숫자 문자열과 영단어, 자연수 .. (1) | 2023.09.14 |
[코딩테스트] 230830_순서쌍의 개수, 배열의 유사도 (0) | 2023.08.30 |
[코딩테스트] 230726_ 최댓값 만들기(1) (0) | 2023.07.26 |