개발/알고리즘 & 코딩테스트
[Lv.0] 콜라츠 추측, 서울에서 김서방 찾기, 나누어 떨어지는 숫자 배열
글쓰는쿼카 joymet33
2024. 5. 7. 01:08
1. 콜라츠 추측
- 문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12943
- 나의 코드 :
더보기
function solution(num) {
var answer = 0;
for(let i = 0; i <= 500; i++) {
if (num === 1) {
return i
} else if (num%2 === 0) {
num = num / 2;
} else if (num%2 !== 0) {
num = num*3 +1;
}
}
return -1
}
- 다른 접근법: 추가 조건 시 for문 맨 앞에 두거나, for문이 끝나고 배치
2. 서울에서 김서방 찾기
- 문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12919
- 나의 코드 :
더보기
function solution(seoul) {
for (let i=0; i <seoul.length; i++) {
if (seoul[i] === 'Kim') {
return '김서방은 '+i+'에 있다'
}
}
}
- 다른 접근법 : 영어 대/소문자 명확하게 작성하기
3. 나누어 떨어지는 숫자 배열
- 문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12910
- 나의 코드 :
더보기
function solution(arr, divisor) {
var answer = [];
for(let i=0; i<arr.length; i++) {
if (arr[i]%divisor === 0) {
answer.push(arr[i]);
}
}
// if (answer.length === 0) {
// return [-1]
// }
// answer.sort((a,b) => a-b)
return answer.length === 0 ? [-1] : answer.sort((a,b) => a-b);
}
/*
var answer = arr.filter((element) => element%divisor === 0).sort((a,b)=>a-b);
return answer.length === 0 ? [-1] : answer
*/
/*
sort() 기본 속성? 기능? === 오름차순
sort((a, b) => b - a) 내림차순
*/
- 다른 접근법 : 삼항연산자, sort() 오름차순 주의할 점
- 삼항 연산자 : 조건문 ? 조건문 true 경우 실행한 표현식 : 조건문 false 경우 실행할 표현식
- 예시는 위 '나의 풀이' 12번째 줄 참고
- 참고 링크 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Conditional_operator
- sort() : 배열 요소를 원하는 정렬 순서로 변경
- 오름차순: array.prototype.sort((a, b) => a - b)
- 내림차순: array.prototype.sort((a, b) => b - a)
- 참고 링크 : https://codingeverybody.kr/%ec%9e%90%eb%b0%94%ec%8a%a4%ed%81%ac%eb%a6%bd%ed%8a%b8-%eb%b0%b0%ec%97%b4-sort-%ed%95%a8%ec%88%98/