-
조건을 거는 방법들 1 : while, do while 등JavaScript 2022. 9. 28. 18:36
while 조건을 거꾸로 생각하기 쉽다.
let num = 1 function solution(num) { if (num === 1){ return 0; }else{ let nom = num let count = 0 do { nom%2 === 0 ? nom/=2 : nom = nom*3 + 1; count+=1; if (count>=500){return -1}; // break 같은 거 안써도 되나? } while (nom!==1); // 내가 정반대로 구문을 알고 있었다. return count; } } console.log(solution(num)) // 0이 출력된다. num에 1 넣어놨잖아.
function collatz(num) { var answer = 0; while(num !=1 && answer !=500){ num%2==0 ? num = num/2 : num = num*3 +1; answer++; } return num == 1 ? answer : -1; } // 아래는 테스트로 출력해 보기 위한 코드입니다. console.log( collatz(6) );
break 를 잘쓰면 멋진 조건문이 된다.
function findKim(seoul){ var idx = 0; //함수를 완성하세요 for (var i = 0; i < seoul.length; ++i) { if (seoul[i] == "Kim") { idx = i; break; } } return "김서방은 " + idx + "에 있다"; } // 실행을 위한 테스트코드입니다. console.log( findKim(["Queen", "Tod", "Kim"]));
function findKim(seoul){ var idx = seoul.indexOf('Kim'); return "김서방은 " + idx + "에 있다"; } // 실행을 위한 테스트코드입니다. console.log( findKim(["Queen", "Tod", "Kim"]));
function solution(seoul) { const index = seoul.findIndex(name => name == "Kim"); return `김서방은 ${index}에 있다`; }
뒤의 두 코드는 메서드를 활용하니 당연히 짧다.
하지만 메서드를 활용하기 곤란한 상황에서 로직을 만들 어야 할텐데, 첫번째 조건문의 break는 퍽 훌륭한 사례일 수밖에 없다.
'JavaScript' 카테고리의 다른 글
문자열과 숫자에 접근하는 방법들 2 : sort() (0) 2022.09.28 배열에 접근하는 방법들2 : set(), map(), 배열의 중복제거 (0) 2022.09.28 문자열과 숫자에 접근하는 방법들 1 : +, isNan() 등 (0) 2022.09.28 배열에 접근하는 방법들 1 : forEach(), filter (0) 2022.09.28 forEach(), 콜백함수, 익명함수 (0) 2022.09.26