๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Coding Test

[์ฝ”๋ฆฐ์ด TIL] / // ์ฝ”๋”ฉํ…Œ์ŠคํŠธ. ๋‘ ์ˆ˜์˜ [ํ•ฉ, ์ฐจ, ๊ณฑ, ๋ชซ, ๋‚˜๋จธ์ง€] ๊ตฌํ•˜๊ธฐ.

by ๊ถŒ์Šพํ–„ 2023. 5. 24.

 

์˜ค๋Š˜์˜ ์˜ค๋ฅ˜

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค '์ฝ”๋”ฉํ…Œ์ŠคํŠธ' Lv.0 ์ค‘ ์‚ฌ์น™์—ฐ์‚ฐ 4๋ฌธ์ œ / ์–ธ์–ด : JavaScript

๋‘ ์ˆ˜์˜ [ํ•ฉ, ์ฐจ, ๊ณฑ, ๋ชซ, ๋‚˜๋จธ์ง€] ๊ตฌํ•˜๊ธฐ.
https://programmers.co.kr/

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

 

1. ๋‘ ์ˆ˜์˜ ํ•ฉ.

 

์ •์ˆ˜ num1, num2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ,

num1๊ณผ num2๋ฅผ ํ•ฉํ•œ ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

๋‚˜์˜ ๋‹ต :

function solution(num1, num2) {
    var answer = num1 + num2;
    return answer;
}

*(์ฐธ๊ณ ) : answer์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ , ๋ฐ”๋กœ return์„ ์ด์šฉํ•ด์„œ ๊ฐ’ ์ถœ๋ ฅ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

function solution(num1, num2) {
    return num1+num2;
}

*(์ฐธ๊ณ ) : ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋ณด๋‹ค ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ ์ค„๋กœ ์ž‘์„ฑ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

const solution = (num1, num2) => num1 + num2

*(์•Œ์•„๋ณผ ๊ฒƒ) : ๋‹ค๋ฅธ ์ •๋‹ตํ’€์ด๋ฅผ ๋ณด๋‹ค๋ณด๋‹ˆ ์ด๋Ÿฐ์‹์œผ๋กœ ๊ตฌํ˜„์‹œํ‚จ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋˜๋ฐ,

ํ•˜์ดํ‘ผ์ด ๋งค๊ฐœ๋ณ€์ˆ˜์ธ num1๊ณผ num2๋ฅผ ๋ฐ›์•„๋‚ผ ์ˆ˜ ์žˆ๋Š”๊ฑด์ง€ ๋”ฐ๋กœ ํ™•์ธํ•ด ๋ด์•ผ๊ฒ ๋‹ค.

const solution=(_,__)=>_+__

 

2. ๋‘ ์ˆ˜์˜ ์ฐจ

โ€‹

์ •์ˆ˜ num1๊ณผ num2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ,

num1์—์„œ num2๋ฅผ ๋บ€ ๊ฐ’์„ returnํ•˜๋„๋ก soltuion ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๋‚˜์˜ ๋‹ต :

function solution(num1, num2) {
    var answer = num1-num2;
    return answer;
}

*(์ฐธ๊ณ ) : ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋ณด๋‹ค ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•œ ์ค„๋กœ ์ž‘์„ฑ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

const solution = (num1, num2) => num1 - num2

*(์ฐธ๊ณ ) : answer์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ , ๋ฐ”๋กœ return์„ ์ด์šฉํ•ด์„œ ๊ฐ’ ์ถœ๋ ฅ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

function solution(num1, num2) {
    return num1-num2;
}

*(์•Œ์•„๋ณผ ๊ฒƒ) : ์—ฌ๊ธฐ์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•˜์ดํ‘ผ(_)์œผ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜์ธ num1์˜ ๊ฐ’๊ณผ num2์˜ ๊ฐ’์„ ๋ฐ›์•„๋‚ด์„œ

ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„์‹œํ‚จ๊ฒƒ ๊ฐ™์€๋ฐ ์•Œ์•„๋ณด๊ณ  ์˜ฌ๋ ค์•ผ๊ฒ ๋‹ค.

const solution=(_,__)=>_-__

 

 

3. ๋‘ ์ˆ˜์˜ ๊ณฑ

 

์ •์ˆ˜ num1, num2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ,

num1๊ณผ num2๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๋‚˜์˜ ๋‹ต :

function solution(num1, num2) {
    var answer = num1*num2;
    return answer;
}

๋‘ ์ˆ˜์˜ ๊ณฑ๋„ ๋‘ ์ˆ˜์˜ 'ํ•ฉ๊ณผ ์ฐจ'์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ,

ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ, ๋˜๋Š” ๋ณ€์ˆ˜์ธ answer๋กœ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ ,

์˜ฌ๋ฐ”๋ฅธ ๊ฐ’์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

4. ๋‘ ์ˆ˜์˜ ๋‚˜๋จธ์ง€

 

์ •์ˆ˜ num1, num2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ,

num1๋ฅผ num2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๋‚˜์˜ ๋‹ต :

function solution(num1, num2) {
    var answer = num1%num2;
    return answer;
}

*(์ฐธ๊ณ ) : JavaScript์—์„œ ๋‚˜๋จธ์ง€๋ฅผ ๋œปํ•˜๋Š” ๊ธฐํ˜ธ์ธ '%'๋ฅผ ์ด์šฉํ•ด์„œ, ์œ„ ์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

 

 

5. ๋‘ ์ˆ˜์˜ ๋ชซ *(์˜ค๋Š˜์˜ ์˜ค๋ฅ˜ Point)

โ€‹

์ •์ˆ˜ num1, num2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ,

num1์„ num2๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

โ€‹

์ฒซ ๋ฒˆ์งธ ์ œ์ถœ ๋‹ต์•ˆ.

function solution(num1, num2) {
  var answer = num1 / num2;
  return answer;
}

์ž˜๋ชป๋œ ๋ถ€๋ถ„ :

๋งŒ์•ฝ num1 ์— 7์ด ๋“ค์–ด๊ฐ€๊ณ , num2 ์— 2๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค๊ณ  ํ•˜๋ฉด, ๋‚˜์˜ค๋Š” ๊ฐ’์€ ๋ชซ์€ 3์ด๋˜๊ณ ,

๋‚˜๋จธ์ง€๋Š” 1์ด ๋œ๋‹ค.

๋‚˜๋จธ์ง€๊ฐ€ 0์œผ๋กœ ๋”ฑ ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค.


๋‘ ๋ฒˆ์งธ ์ œ์ถœ ๋‹ต์•ˆ.

function solution(num1,num2) {
    if(num1,num2){
        var result = num1 % num2;
        result !== 0;
        continue;
    } else {
        var answer = num1 / num2;
        return answer;
    }
}

๊ทธ๋ž˜์„œ ์œ„ ์™€ ๊ฐ™์€ ํ•จ์ˆ˜๋กœ ๋‹ค์‹œ ๋งŒ๋“ค์–ด ๋ณด์•˜๋‹ค.

โ€‹

๋ถ€์กฑํ•œ ์  :

๋งŒ์•ฝ num1 % num2๋ฅผ ํ•ด์„œ ๊ฒฐ๊ณผ(๋‚˜๋จธ์ง€ ๊ฐ’)๊ฐ€ 0์ด ์•„๋‹ˆ๋ผ๋ฉด, ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ๋‹ค๋Š” ์†Œ๋ฆฌ๋‹ˆ๊นŒ,

else ํ•จ์ˆ˜๋กœ ๋„˜์–ด๊ฐ€๋ผ~๋ฅผ ๊ตฌํ˜„์‹œํ‚ค๊ณ  ์‹ถ์€๋ฐ, continue๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ๋ฒ•๊ณผ, ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด์•„์•ผ ๊ฒ ๋‹ค.

ReferenceError: continue is not defined

*(continue ๋Š” ์ •์˜ ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.) ๋ผ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 


 

๋А๋‚€ ์  : ์ฝ”๋”ฉํ…Œ์ŠคํŠธ Lv.0์—์„œ ์ด๋ ‡๊ฒŒ ์˜ค๋žœ์‹œ๊ฐ„, ๊ทธ๊ฒƒ๋„ ์‚ฌ์น™์—ฐ์‚ฐ์ธ ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ถฉ๋ถ„ํžˆ ํ•ด๋‚ผ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ํ–ˆ์—ˆ๋Š”๋ฐ ๋ชซ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ์—์„œ ์ด๋ ‡๊ฒŒ ํ•ด๋งฌ์ค„์€ ๋ชฐ๋ž๋‹ค.

โ€‹

์ด ์‹œ๊ฐ„ ์ดํ›„๋กœ ๋ชซ์„ ๊ตฌํ•˜๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜จ๋‹ค๋ฉด, ์ง€๊ธˆ ์ด ์ˆœ๊ฐ„, ์˜ค๋Š˜์ด ๋งŽ์ด ์ƒ๊ฐ๋‚  ๊ฒƒ ๊ฐ™๋‹ค.

 


2023/05/24 10:10 ์ˆ˜์ • ๋‹ต์•ˆ : 

function solution (num1, num2) {
	var answer = Math.floor(num1/num2);
	return answer;
}

 

Math ๋ผ๋Š” '๊ฐ์ฒด'์— ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ํ•จ์ˆ˜๋“ค์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค.

๊ทธ ์ค‘ 'floor'๋ผ๋Š” ๊ฒƒ์€ ๋ชซ๊ณผ ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ์„ ๋•Œ ๊ทธ ์ˆ˜๋ฅผ ๋‚ด๋ฆผ ํ•ด์ค€๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

ex ) 3.5 = 3 / 4.7 = 4 / 2.1 = 2

์ด Math์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ์กฐ์‚ฌํ•˜๊ณ  ์–ด๋–ค์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€ ๋” ํ™•์ธํ•ด ๋ด์•ผ๊ฒ ๋‹ค.