c++
-
Map 을 Vector 로 변환하기뜯고 또 뜯어보는 컴퓨터/씨쁠쁠 C++ 2022. 10. 20. 17:09
0. Map을 Vector로 변환하기 Map을 Vector 자료형으로 변환할 일이 있었는데, 여러 가지 방법이 존재하여, 글로 남겨놓습니다. C++에서 Map 은 정렬되어 있는 컨테이너로써, Key-Value 쌍으로 이뤄져 있습니다. 이때, Key 들은 Compare 될 수 있는 값들에 의해 정렬되어 있고, Bidirectional 반복자를 가집니다. 1. Map 구조체 Vector로 변환하기 변환하는 방법에는 여러가지가 존재하지만, 대표적인 것 몇 가지만 알아보겠습니다. Vector 생성자 이용하기 Copy 알고리즘 이용하기 Transform 알고리즘 이용하기 ForEach 알고리즘 이용하기 방법 등이 존재합니다. 1 번은 Map의 반복자가 Pair 인 점을 활용하여, Vector 생성자에 반복자..
-
백준 1261 C++알고리즘/백준(BOJ) 2022. 10. 20. 15:23
https://www.acmicpc.net/problem/1261 문제 알고스팟 운영진이 모두 미로에 갇혔다. 미로는 N*M 크기이며, 총 1*1크기의 방으로 이루어져 있다. 미로는 빈 방 또는 벽으로 이루어져 있고, 빈 방은 자유롭게 다닐 수 있지만, 벽은 부수지 않으면 이동할 수 없다. 알고스팟 운영진은 여러명이지만, 항상 모두 같은 방에 있어야 한다. 즉, 여러 명이 다른 방에 있을 수는 없다. 어떤 방에서 이동할 수 있는 방은 상하좌우로 인접한 빈 방이다. 즉, 현재 운영진이 (x, y)에 있을 때, 이동할 수 있는 방은 (x+1, y), (x, y+1), (x-1, y), (x, y-1) 이다. 단, 미로의 밖으로 이동 할 수는 없다. 벽은 평소에는 이동할 수 없지만, 알고스팟의 무기 AOJ를 ..
-
프로그래머스 이중우선순위큐 C++알고리즘/프로그래머스(PRPGRAMMERS) 2022. 10. 6. 12:22
문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한 사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제..
-
백준 16935 C++알고리즘/백준(BOJ) 2022. 10. 4. 23:39
https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 문제 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 2번 연산은 배열을 좌우 반전시키는 연산이다. 3번 연산은 오른쪽으로 90도 회전시키는 연산이다. 4번 연산은 왼쪽으로 90도 회전시키는 연산이다. 5, 6번 연산을 수행하..
-
백준 14226 C++알고리즘/백준(BOJ) 2022. 9. 27. 13:51
https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 문제 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만들어 보려고 한다. 화면에 있는 이모티콘을 모두 복사해서 클립보드에 저장한다. 클립보드에 있는 모든 이모티콘을 화면에 붙여넣기 한다. 화면에 있는 이모티콘 중 하나를 삭제한다. 모든 연산은 1초가 걸린다. ..
-
백준 ABCDE C++알고리즘/백준(BOJ) 2022. 9. 27. 11:33
https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 문제 BOJ 알고리즘 캠프에는 총 N명이 참가하고 있다. 사람들은 0번부터 N-1번으로 번호가 매겨져 있고, 일부 사람들은 친구이다. 오늘은 다음과 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구해보려고 한다. A는 B와 친구다. B는 C와 친구다. C는 D와 친구다. D는 E와 친구다. 위와 같은 친구 관계가 존재하는지 안하는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 사람의 수 N (5 ≤ N ≤ 2000)과 친구 관계의 수 M (1 ≤ M ≤ 2000)이 주어진다. 둘째..
-
UML 뜯어보기 ( 3 ) Sequence Diagram카테고리 없음 2022. 5. 9. 22:53
[ UML에 관한 전편 게시물(2) ] https://guru.tistory.com/110 UML 뜯어보기 ( 2 ) Class 및 Sequence Diagram [ UML에 관한 전편 게시물 ] https://guru.tistory.com/109 UML 뜯어보기 ( 1 ) UML 이란 ? UML 이란 Unified Modeling Language 의 약자로 1997년 OMG 에서 표준으로 채택한 통합모델링 언어입니다. 즉 모델을 만.. guru.tistory.com Sequence Diagram ( 시퀀스 다이어그램 ) 말 그대로 시퀀스, 순서를 나타낸다는 뜻으로, 가장 큰 특징은 시간의 순서대로 상호작용을 알려주는데 그 목적이 있다 할 수 있겠다. 정해진 시나리오에 따라, 각 시스템들이 어떠한 메시지..
-
UML 뜯어보기 ( 2 ) Class 및 Sequence Diagram카테고리 없음 2022. 5. 9. 22:29
[ UML에 관한 전편 게시물 ] https://guru.tistory.com/109 UML 뜯어보기 ( 1 ) UML 이란 ? UML 이란 Unified Modeling Language 의 약자로 1997년 OMG 에서 표준으로 채택한 통합모델링 언어입니다. 즉 모델을 만드는 표준 언어이며, 시스템을 디자인 하거나 보여줄때, 표준으로 사용됩니 guru.tistory.com Class Diagram ( 클래스 다이어그램 ) Class Diagram을 설계하기 전에 , "왜 사용할까 ?" 라는 의문이 생긴다면, 클래스 다이어그램은 객체들 간의 관계, 속성, 그리고 함수들을 정의 함으로써, 구조적인 형태를 미리 만들어 볼 수 있으며, 콘셉트의 형태를 자리 잡을 수 있다는 장점이 있습니다. 그럼 Class D..