kimbapburger
186
2022-08-06 17:31:30
3
123

C++ SET 으로 중복된 숫자 제외의 합을 어떻게 구해야할까요??


학교에서 내준 문제인데 set을 이렇게 사용하라고 있는게 아닌거같은데 왜 이런문제를 주는지 모르겠네요.. 제가 몰라서 그렇지 사실 유용한 공부일지도 모르겠습니다만.. 아무튼


text file 에 있는 숫자들을 벡터 파일스트림으로 받아서 그 숫자들중 중복된 숫자(같은숫자가 한쌍이라도 있을경우) 제외하고 나머지 숫자들을 합쳐야합니다. 


set이 기본적으로 중복된 숫자들을 하나로 만들어준다고 알고있는데요, 이 숫자들만 지우고 나머지 숫자들을 합쳐야 하는데 set을 이용해서 하랍니다 도대체 무슨 함수를 사용해서 중복된 숫자들만 걸러낼수 있을까요?? 

0
  • 답변 3

  • allinux
    3k
    2022-08-06 20:01:48
    Set에는 중복된 요소를 저장할 수 없습니다. 그냥 변환하면 됩니다
  • 현욱
    1k
    2022-08-06 21:11:16

    맵으로 카운터 만들고 맵 돌면서 카운터가 1인 애들만 더하면 되겠네요. 

    굳이 셋을 써야하면 셋 두개 만들어서 셋 1에 먼저넣고 셋 1에 이미 있으면 셋 2에 넣고, 다 받은 뒤에는 셋 1에서 셋 2를 뻬고 나머지 다 더하면 되겠네요

  • Hide_D
    1k
    2022-08-07 01:56:58

    중복된 숫자를 제외하고, 니까


    1, 2, 2, 3, 3, 4 라면

    1 + 2 + 3 + 4 = 10 이 되어야 하는건가요?

    그런 용도면 set이 맞습니다.


    그냥 set에다가 모든 숫자를 다 때려박고

    for each 루프로 set의 요소를 모두 더하면 됩니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.