Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 2] 03 - ๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด

_์„ฑํ˜ธ_ 2022. 9. 6. 16:16
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋ฌธ์ œ

A, B ๋‘ ์‚ฌ๋žŒ์ด ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„์„ ํ•œ๋‹ค. ์ด N๋ฒˆ์˜ ๊ฒŒ์ž„์„ ํ•˜์—ฌ A๊ฐ€ ์ด๊ธฐ๋ฉด A๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , B๊ฐ€ ์ด๊ธฐ๋ฉด B๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋น„๊ธธ๊ฒฝ์šฐ์—๋Š” D๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ฐ€์œ„, ๋ฐ”์œ„, ๋ณด์˜ ์ •๋ณด๋Š” 1: ๊ฐ€์œ„, 2: ๋ฐ”์œ„, 3: ๋ณด๋กœ ์ •ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด N = 5์ด๋ฉด

ํšŒ์ˆ˜ 1 2 3 4 5
A์˜ ์ •๋ณด 2 3 3 1 3
B์˜ ์ •๋ณด 1 1 2 2 3
์Šน์ž A B A B D

๋‘ ์‚ฌ๋žŒ์˜ ๊ฐ ํšŒ์˜ ๊ฐ€์œ„, ๋ฐ”์œ„, ๋ณด ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๊ฐ ํšŒ๋ฅผ ๋ˆ„๊ฐ€ ์ด๊ฒผ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

 

๋‚˜๋Š” ๊ฐ€์œ„๋ฐ”์œ„๋ณด์—์„œ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์•„ if ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฌธ์ œ๋Š” ๊ธฐ์ค€ ํ•˜๋‚˜๋ฅผ ์ž˜ ์ •ํ•œ๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ๋งŽ์ด ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

๋น„๊ธธ ๊ฒฝ์šฐ, A๊ฐ€ ์ด๊ฒผ์„ ๊ฒฝ์šฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค๋ฉด ๋‚˜๋จธ์ง€๋Š” B๊ฐ€ ์ด๊ฒผ์„ ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์— else๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

๐Ÿ“ ํ’€์ด

// ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์•„ if ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ
function solution(a, b) {
  let answer = '';

  for (let i = 0; i < a.length; i++) {
    if (a[i] === b[i]) answer += 'D' + ' ';
    else if (a[i] === 1 && b[i] === 3) answer += 'A' + ' ';
    else if (a[i] === 2 && b[i] === 1) answer += 'A' + ' ';
    else if (a[i] === 3 && b[i] === 2) answer += 'A' + ' ';
    else if (a[i] === 1 && b[i] === 2) answer += 'B' + ' ';
    else if (a[i] === 2 && b[i] === 3) answer += 'B' + ' ';
    else if (a[i] === 3 && b[i] === 1) answer += 'B' + ' ';
  }

  return answer;
}

let a = [2, 3, 3, 1, 3];
let b = [1, 1, 2, 2, 3];
console.log(solution(a, b));
// ๋น„๊ฒผ์„ ๊ฒฝ์šฐ, A๊ฐ€ ์ด๊ฒผ์„ ๊ฒฝ์šฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์ฝ”๋“œ
function solution(a, b) {
  let answer = '';

  for (let i = 0; i < a.length; i++) {
    if (a[i] === b[i]) answer += 'D' + ' ';
    else if (a[i] === 1 && b[i] === 3) answer += 'A' + ' ';
    else if (a[i] === 2 && b[i] === 1) answer += 'A' + ' ';
    else if (a[i] === 3 && b[i] === 2) answer += 'A' + ' ';
    else answer += 'B' + ' ';
  }

  return answer;
}

let a = [2, 3, 3, 1, 3];
let b = [1, 1, 2, 2, 3];
console.log(solution(a, b));