코딩굼벵이
구르는 중
코딩굼벵이
  • 분류 전체보기 (116)
    • [C_C++]이론 공부 (17)
      • 알고리즘 (11)
      • 이론+STL (6)
    • [C_C++]코딩테스트 연습 (45)
      • [프로그래머스] level 1 (26)
      • [프로그래머스] level 2 (5)
      • [백준] 일반 문제 (12)
      • 기타 (2)
    • Solana (28)
      • Documentation (9)
      • Validator - 공부 (10)
      • Validator - 실행 (devnet & te.. (6)
      • 그 외 (3)
    • React (4)
    • Linux (2)
    • Javascript (2)
    • 블록체인 기반 핀테크 및 응용 SW 개발 (8)
      • React (1)
      • Javascript (3)
      • Solidity (3)
      • 프로젝트 (1)
    • 기타 (10)

블로그 메뉴

  • 🌟 깃허브
  • 🌿 Portfolio(2021)
  • 홈
  • 태그
  • 방명록

티스토리

최근 글

태그

  • grafana
  • Hooks #React
  • 밸리데이터
  • 모니터링
  • 솔라나
  • Immer #ContextAPI

인기 글

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
코딩굼벵이

구르는 중

[C++] 프로그래머스 - 로또의 최고 순위와 최저 순위
[C_C++]코딩테스트 연습/[프로그래머스] level 1

[C++] 프로그래머스 - 로또의 최고 순위와 최저 순위

2021. 7. 13. 20:00
728x90

 

내 풀이

이번 건 좀 괜찮게 푼 것 같다!

iterator 와 find 함수를 사용해당첨번호와 같은 값을 내 로또번호에서 찾으면 worst와 best에 모두 더해주고,

내 로또번호에 0이 있으면 그 개수만큼 best에만 더해줬다.

일치하는 번호를 세는 데 사용했던 worst와 best 변수의 값은 switch를 이용해 순위로 재할당해줬고,

그 순위를 answer에 차례로 넣어줘서 반환했다.

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> lottos, vector<int> win_nums) {
	vector<int> answer;
	int worst = 0, best = 0;
	for (int i = 0; i < win_nums.size(); i++) {
		vector<int>::iterator f = find(lottos.begin(), lottos.end(), win_nums[i]);
		if (f != lottos.end()) {
			worst++;
			best++;
		}
		if (lottos[i] == 0) best++;
	}

	switch (worst)
	{
	case 0: worst = 6;
		break;
	case 1: worst = 6;
		break;
	case 2: worst = 5;
		break;
	case 3: worst = 4;
		break;
	case 4: worst = 3;
		break;
	case 5: worst = 2;
		break;
	case 6: worst = 1;
		break;
	default:
		break;
	}
	switch (best)
	{
	case 0: best = 6;
		break;
	case 1: best = 6;
		break;
	case 2: best = 5;
		break;
	case 3: best = 4;
		break;
	case 4: best = 3;
		break;
	case 5: best = 2;
		break;
	case 6: best = 1;
		break;
	default:
		break;
	}
	answer.push_back(best);
	answer.push_back(worst);
	return answer;
}

 

 

 

'[C_C++]코딩테스트 연습 > [프로그래머스] level 1' 카테고리의 다른 글

[C++] 프로그래머스 - 숫자 문자열과 영단어  (0) 2021.07.16
[C++] 프로그래머스 - 약수의 개수와 덧셈  (0) 2021.07.14
[C++] 프로그래머스 - 예산  (0) 2021.07.13
[C++] 프로그래머스 - 소수 만들기  (0) 2021.07.13
[C++] 프로그래머스 - 신규 아이디 추천  (0) 2021.07.13
    '[C_C++]코딩테스트 연습/[프로그래머스] level 1' 카테고리의 다른 글
    • [C++] 프로그래머스 - 숫자 문자열과 영단어
    • [C++] 프로그래머스 - 약수의 개수와 덧셈
    • [C++] 프로그래머스 - 예산
    • [C++] 프로그래머스 - 소수 만들기
    코딩굼벵이
    코딩굼벵이
    구르는 재주 연마 중

    티스토리툴바