Q1. 문자열 정렬하기 (2)
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
소문자 toLowerCase 로 바꾸고, split("") 메서드를 통해 배열에 하나씩 차곡 차곡 담는다.
다음 sort 메서드를 활용하여 순서대로 나열하고 join 을 활용해서 다시 string으로 바꾼다!
function solution(my_string) {
return my_string.toLowerCase().split('').sort().join('');
}
Q2. 각도기
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
내가 생각한 코드
function solution(angle) {
if(0 < angle < 90 ){
return 1;
} else if(angle === 90 ){
return 2;
} else if(90 < angle < 180){
return 3
} else {
return 4
}
}
정답이 아니였다.
여기서 논리연산자에대해서 다시 생각해 볼 수 있었는데, 좀 더 정확한 조건을 주기위해서
&& // 모두가 true인 경우에만 true 반환
|| // 둘 중 하나가 true 라도 true 반환 을 이용해서 풀어볼 수 있었다 .
function solution(angle) {
if( 0 < angle && angle < 90){
return 1
} else if(angle === 90){
return 2
} else if (90 < angle && angle < 180){
return 3
} else if (angle === 180){
return 4
}
}
위와 같은 코드로 진행 할 수 있었다.
Q3. 다시 또 한번 filter 메서드에 대해서 공부해보자
정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.
나의 코드
function solution(array, n){
retrun array.filter(item => item === n).length
}
Q4.
정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
나의 코드
function solution(n) {
var answer = 0;
let string = n.toString();
let string_split = string.split("");
for(let i = 0; i < string_split.length; i++){
answer += parsInt(string_split[i])
}
return answer;
}
정답이 아니더라..ㅎ
다른 사람들의 정답 코드를 구글링하여 보니
function solution(n){
var answer = 0;
var m=String(n);
for(var i=0; i<m.length; i++){
answer+=parseInt(m[i]);
}
return answer;
}
String 이나 toString 이나 똑같은 의미인줄 알고 있는데 계속 안되던데, vs code에서 보니 parsInt가 오타가 있었다..!!
다시 한번 오타를 잘 잡아보아야겠따!!