[백준] 5568 카드 놓기 c++

2022. 9. 13. 23:55·🍞 Algorithm/Baekjoon

https://www.acmicpc.net/problem/5568 

 

5568번: 카드 놓기

예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다.

www.acmicpc.net

 

풀이과정

처음으로 set을 사용해봤다.  
map을 사용하지 않고, set을 사용한 이유는 중복되는 값을 삭제해야 되기 때문이다.  
이것이 set의 가장 큰 메리트라고 생각한다. 좋은 문제인 것 같다!

 

next_permutation

- 현재 나와있는 수열에서 인자로 넘어간 범위에 해당하는 다음 순열을 구한다.
- 사전식으로 정렬한다.
- 사용 전에 꼭 sort하고 시작해야 한다.

 

#include <vector>
#include <algorithm>
#include <iostream>
#include <string>
#include <set>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL), cout.tie(NULL);

	int n, k;
	cin >> n >> k;

	vector <int> v;
	for (int i = 0; i < n; i++) {
		int x;
		cin >> x;
		v.push_back(x);
	}
	sort(v.begin(), v.end());
	// next_permutation을 사용하기 전 정렬을 해줘야함

	set <string> s;
	do {
		string res;
		for (int i = 0; i < k; i++) {
			res += to_string(v[i]);
		}
		s.insert(res);
	} while (next_permutation(v.begin(), v.end()));
	cout << s.size();
}
저작자표시 (새창열림)

'🍞 Algorithm > Baekjoon' 카테고리의 다른 글

[백준] 2910 빈도 정렬 c++  (0) 2022.09.14
[백준] 17219 비밀번호 찾기 c++  (0) 2022.09.14
[백준] 14425 문자열 집합 c++  (0) 2022.09.13
[백준] 1620 나는야 포켓몬 마스터 이다솜 c++  (0) 2022.09.13
[백준] 1302 베스트셀러 c++  (0) 2022.09.13
'🍞 Algorithm/Baekjoon' 카테고리의 다른 글
  • [백준] 2910 빈도 정렬 c++
  • [백준] 17219 비밀번호 찾기 c++
  • [백준] 14425 문자열 집합 c++
  • [백준] 1620 나는야 포켓몬 마스터 이다솜 c++
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    프로그래머스
    level1
    level2
    백준
    C++
    길벗 블로깅 멘토
    코딩자율학습
    Front
    알고리즘
    umc
    Java
    길벗 블로깅 멘토링
    map
    위상정렬
    코틀린
    Android
    JavaScript
    유니온파인드
    react
    안드로이드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[백준] 5568 카드 놓기 c++
상단으로

티스토리툴바