[2021.08.06]

Darlene·2021년 8월 6일
0

문제 1)

1. 요구사상 분석

입력된 숫자의 각 자리수의 합 구하기

2. 요구사항을 구체적이고 절차적으로 변환하기

입력된 값을 하나 하나 배열로 담아낸다.
반복문을 이용해서 배열 각 요소를 숫자값으로 변환하여 모두 더한다.

3. 코드로 작성하기

답안지 작성
const number = prompt('숫자를 입력해주세요.').split('');
let result = 0;

for (let i = 0; i < number.length; i++) {
 result += Number(number[i]);
}

 console.log(result);


문제 2)

Date객체의 메소드 중 하나인 getTime()은 1970년 1월 1일 0시 0분 0초 이후로부터 지금까지 흐른 시간을 천분의 1초 단위(ms)로 반환한다.

이를 이용하여 현재 연도(2021)을 출력해보세요.

1. 요구사상 분석

getTime()을 사용해서 현재 연도(2021)을 출력해보기

2. 코드로 작성하기

답안지 작성
const date = new Date();

let year = date.getTime();
year = Math.floor(year/(60*60*24*365*1000))+1970

console.log(year);

문제 3)

1. 요구사상 분석

1부터 20까지(20포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합 구하기

2. 요구사항을 구체적이고 절차적으로 변환하기

1번문제와 비슷한 문제이다.
구하고자 하는 마지막 숫자를 입력값으로 준 다음
그 입력값에 -1을 반복해서 20...1까지의 숫자를 구한다.
구한 값들을 배열에 담아낸다.
그리고 배열값들을 일렬로 만든다.
1번 문제 풀이를 적용한다.

3. 코드로 작성하기

답안지 작성
const input = prompt('마지막 숫자를 입력해주세요.');
let element = 0;
let array = [];

for (let i = 0; i < input; i++) {
 element = input - i;
 array.push(element);
}

let result = 0; 
let number = array.join(''); 

for (let i = 0; i < number.length; i ++) {
   result += Number(number[i]);
}

console.log(result);

🙏 회고

알고리즘 문제 풀기 훈련을 매일하다보니 반복되는 부분도 많고 새롭게 배우는 내용도 많은데 절차적으로 계속생각하다보니 그 동안 반복했던 문제들은 조금 수월하게 풀어내는 것 같다.

0개의 댓글