본문 바로가기

BOJ/C++

(22)
BOJ [C++]) 1076번 저항 https://www.acmicpc.net/problem/1076 1076번: 저항 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다. www.acmicpc.net 1. 문제 전자 제품에는 저항이 들어간다. 저항은 색 3개를 이용해서 그 저항이 몇 옴인지 나타낸다. 처음 색 2개는 저항의 값이고, 마지막 색은 곱해야 하는 값이다. 저항의 값은 다음 표를 이용해서 구한다. 색 값 곱 black 0 1 brown 1 10 red 2 100 orange 3 1,000 yellow 4 10,000 green 5 100,000 blue 6 1,000,000 violet 7 10,000,000 grey 8 100,000,000 white 9..
BOJ [C++]) 10816번 숫자 카드 2 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 1. 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 2. PS - 이전 숫자 카드 문제 (https://www.acmicpc.net/problem/10815) 와 비슷하지만 일반 container로 ..
BOJ [C++]) 10815번 숫자 카드 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 1. 문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 2. PS - 내 카드와 제시된 숫자 카드를 비교하기 위해 2개의 container를 생성함. - binary_search 함수를 사용하기 위해 so..
BOJ [C++]) 10867번 중복 빼고 정렬하기 https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 1. 문제 N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다. 2. PS - unique 함수를 사용하기 위해 먼저 sort 함수를 사용. - unique,erase 함수를 이용하여 중복되는 부분을 제거함. #include #include #include using namespace std; int main() { int n; vector vt; cin >..
BOJ [C++]) 1620번 나는야 포켓몬 마스터 이다솜 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 1. 문제 문제가 너무길어.. 생략 2. PS - 맵을 사용하여 포켓몬의 key와 value data를 저장함. - 처음에는 map을 하나만 사용하여 key를 반환해야 하는 부분에서 for반복문을 사용해 시간초과 오답이 났음. - 포켓몬 이름반환용과 번호 반환용 맵을 두개 만들어 해결함. - 효율적인 방법인지는 모르겠음.. #include #include #includ..
BOJ [C++]) 1021번 회전하는 큐 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 1. 문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, .....
BOJ [C++]) 2164번 카드2 1. 문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 2. PS - 자료의 앞과 뒤로의 이동이 많아 deque container를 사용함. #include #include #include using namespace std; int main() { int n; cin >> n; deque card; for(int i = 0; i < n; i++) { card.push_back(i+1); } while(card.size() != 1) { c..
BOJ [C++]) 1874번 스택 수열 1. 문제 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 2. PS - stack을 이용한 수열만들기와 '+'와 '-' 데이터를 저장할 배열을 만듬. - targetNum을 만날때 까지 1~n 까지의 숫자를 push. - 'NO'가 되는 조건이 핵심인데, 본인은 stack.size와 제시한 n을 비교하여 해결함. - 코드적으로 더 쉽게하는 방법이 있을 것 같은데..

728x90