본문 바로가기
[프로그래머스] 타겟 넘버 / C++ / level2 ✏️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1.. 2021. 10. 6.
[백준] 13701번: 중복 제거 ✏️ 문제 링크 https://www.acmicpc.net/problem/13701 13701번: 중복 제거 문제: N개의 정수 A1, A2, ..., AN 을 읽고, 이들 중에서 반복되는 수를 제외하고 남은 N'개의 수 B1, B2, ..., BN’ 을 입력된 순서대로 출력하시오. 이때, 0 ≤ Ai < 225 = 33554432, i=1,2,…,N. 입력의 개수 N은 1 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 배열을 선언하고 input으로 들어오는 숫자를 출력한적이 있는지 확인한다. 만약 출력한적이 있다면 중복되는 것이니 해당 숫자를 다시 출력하지 않고 만약 출력한적이 없다면 해당 숫자를 true로 만들어주고 input을 출력해준다. ✏️ 문제 코드 .. 2021. 10. 5.
[백준] 11811번: 데스스타 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/11811 11811번: 데스스타 젊은 제다이 이반의 임무는 데스스타에 침투하여 파괴하는 일이다. 데스스타를 파괴하기 위해서는 길이 N의 음이 아닌 정수 수열 ai가 필요하다. 그러나 이반은 이 수열을 가지고 있지 않다. 대 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 나와 어떤 수에 대해서 and 연산을 진행했을 때 특정한 숫자가 나온다는 것은 그 숫자만큼 1은 무조건 켜져있다는 것이다. 이렇게 생각했을 때 특정한 연산과 and 연산을 진행한 결과와 or연산을 진행하면 나의 최소한 켜져있어야 하는 1을 알 수 있고 이를 통해 내가 만족해야하는 최소값을 알 수 있다. ✏️ 문제 코드 #i.. 2021. 10. 5.
[백준] 3449번: 이진수 연산/ C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/12813 12813번: 이진수 연산 총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오. www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 string으로 받아서 각 문자열에 대해서 and, or, xor 연산을 진행해준다. ✏️ 문제 코드 #include using namespace std; int main(){ string a, b; cin>>a>>b; //and for(int i=0; i 2021. 10. 5.
[백준] 3449번: 해밍 거리 ✏️ 문제 링크 https://www.acmicpc.net/problem/3449 3449번: 해밍 거리 입력을 여러 개의 테스트 케이스로 이루어져 있다. 첫째 줄에는 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 두 줄로 이루어져 있다. 각 줄에는 이진수가 하나씩 주어진다. 두 이진 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 각 A, B를 XOR 연산을 하면 풀 수 있는 문제...인데!! C++로 비트다루는건 힘들다...ㅎㅅㅎ ✏️ 문제 코드 #include using namespace std; int main(){ int T; cin>>T; while(T--){ string a, b; cin>>a>>b; int n=a.size(); long A.. 2021. 10. 4.
[백준] 11723번: 집합 ✏️ 문제 링크 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 각 명령에 대해서 일일이 지우고 추가하고 하기엔 수행해야할 명령이 많다. 이럴때에는 배열을 하나 두고 해당 배열을 true/false로 두어 true면 배열안에 있고, false라면 배열안에 없는 것으로하여 문제를 해결할 수 있다. ✏️ 문제 코드 #include using namespace std; #define MAX 21 vector num(21, f.. 2021. 10. 4.
[백준] 1516번: 게임 개발 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/1516 1516번: 게임 개발 첫째 줄에 건물의 종류 수 N(1 ≤ N ≤ 500)이 주어진다. 다음 N개의 줄에는 각 건물을 짓는데 걸리는 시간과 그 건물을 짓기 위해 먼저 지어져야 하는 건물들의 번호가 주어진다. 건물의 번호는 1부 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 2021.10.03 - [Algorithm 💫/알고리듬(thm) 공부 🌱] - [백준] 1005번: ACM craft / C++ 2021.10.04 - [Algorithm 💫/알고리듬(thm) 공부 🌱] - [백준] 2056번: 작업 / C++ 위 두 문제를 해결했다면 동일한 방식! ✏️ 문제 코드 #inclu.. 2021. 10. 4.
[백준] 2056번: 작업 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 2021.10.03 - [Algorithm 💫/알고리듬(thm) 공부 🌱] - [백준] 1005번: ACM craft / C++ 위 문제를 해결했다면 동일한 방식! ✏️ 문제 코드 #include using namespace std; #define MAX 10001 #define INF 987654321 vect.. 2021. 10. 4.
[백준] 2252번: 문제집 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/1766 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 기본적으로 위상정렬 문제인데! + min heap이 합쳐진 문제이다. 먼저 풀어야 하는 문제를 풀고 queue에 넣을 때에 더 쉬운 문제들 부터 풀어야하니, queue안에서 가장 쉬운 문제들로 정렬이 되어야 하기 때문에 priority_queue를 사용해서 문제를 풀 수 있다! ✏️ 문제 코.. 2021. 10. 4.
반응형