๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Programmers)

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ( Level 1)

by ์•ˆ์ฃผํ˜• 2021. 11. 7.

๋ฌธ์ œ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ

0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž ์ค‘ ์ผ๋ถ€๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์—์„œ ์ฐพ์„ ์ˆ˜ ์—†๋Š” 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๋”ํ•œ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ

programmers.co.kr

 

์ฝ”๋“œ

#include <string>
#include <vector>
#include <map>
using namespace std;

int solution(vector<int> numbers) {
    int answer = 0;
    map<int,int> check;
    for(int i=0; i<10; i++) check[i]++;
    for(int num:numbers) check[num]--;
    for(auto it=check.begin(); it!=check.end(); it++){
        if(it->second==1) answer+=it->first;
    }
    return answer;
}

 

ํ’€์ด(2๋ถ„)

  • map์„ ์ด์šฉํ•˜์—ฌ key๋ฅผ 1~9 ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ value๋ฅผ 1๋กœ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค. 
  • ํ˜„์žฌ ๋ฐฐ์—ด์— ๋“ค์–ด์žˆ๋Š” ๊ฐ’์„ key๋กœ ์‚ผ์•„์„œ value๋ฅผ ๊ฐ์†Œ์‹œ์ผœ์ค๋‹ˆ๋‹ค.
  • ์ตœ์ข…์ ์œผ๋กœ value๊ฐ€ 1์ด๋ผ๋ฉด ๋ฐฐ์—ด์— ์—†๋˜ ์›์†Œ์ด๋‹ˆ ๋”ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€