0%

201104_TIL(심심풀이 코딩 문제)

오늘 한 것

공부한 javaScript 코딩 문제

1.문자열을 정수로 바꾸기

문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.

제한 조건
s의 길이는 1 이상 5이하입니다.
s의 맨앞에는 부호(+, -)가 올 수 있습니다.
s는 부호와 숫자로만 이루어져있습니다.
s는 0으로 시작하지 않습니다.
입출력 예
예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.

나의 답

1
2
3
4
function solution(s) {
var answer = parseInt(s);
return answer;
}

감탄한 타인의 답안

1
2
3
function strToInt(str) {
return str / 1;
}
  • 정수로 연산할 경우 문자열이 정수로 형변환되는 것을 이용했다.

2.자릿수 더하기

문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항
N의 범위 : 100,000,000 이하의 자연수
입출력 예
N answer
123 6
987 24

입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

나의 답

1
2
3
4
5
6
7
8
9
function solution(n) {
var num = n.toString();
var answer = 0;

for (let i = 0; i < num.length; i++) {
answer += parseInt(num[i]);
}
return answer;
}

감탄한 타인의 답안

1
2
3
4
function solution(n) {
// 쉬운방법
return (n + "").split("").reduce((acc, curr) => acc + parseInt(curr), 0);
}
  • split()reduce를 사용하였다. 화살 함수의 사용법을 익힐 필요를 느낀다.

3. 짝수와 홀수

문제 설명
정수 num이 짝수일 경우 Even을 반환하고 홀수인 경우 Odd를 반환하는 함수, solution을 완성해주세요.

제한 조건
num은 int 범위의 정수입니다.
0은 짝수입니다.
입출력 예
num return
3 Odd
4 Even

나의 답

1
2
3
4
5
6
7
8
9
function solution(num) {
var result = num % 2;
var answer = "";

if (result == 0) answer = "Even";
else answer = "Odd";

return answer;
}

감탄한 타인의 답안

1
2
3
4
function evenOrOdd(num) {
return num % 2 ? "Odd" : "Even";
}
}
  • 삼항연사자를 이용해 쉽게 구현했다. 알고는 있지만 익숙하지 않아서 사용하지 않았는데 익히면 확실히 편리할 것 같다.

출처: programmers

오늘 느낀 것

  • 연습문제 푸는게 재밌다. 어려워서 손도 못 대는 문제도 있지만 쉬운 것부터 차근차근 풀어나가자.

  • 반응형 웹도 같이 공부하고있는데 점점 어렵다.. 좀 더 분석해봐야지.

  • 이번주 남은 이틀도 ‘즐코’ 하자!

Nyong’s GitHub