새로운 것을 배우는게 즐거운 개발자입니다.
알고리즘/백준
https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 백준온라인저지 2146번 다리만들기 문제입니다. 아이디어 bitset을 이용해서 각 comand에 대해 수행하도록 작성했습니다. #include #include #include using namespace std; bitset bit; int main(void) { ios_base::sync_with_stdio(0); cin.tie(0); int t; cin >> t; string s; int n; while(t--) { cin >..
2022. 5. 22.
https://www.acmicpc.net/problem/13701 13701번: 중복 제거 문제: N개의 정수 A1, A2, ..., AN 을 읽고, 이들 중에서 반복되는 수를 제외하고 남은 N'개의 수 B1, B2, ..., BN’ 을 입력된 순서대로 출력하시오. 이때, 0 ≤ Ai n) { if (bit[n]) continue; bit[n] = 1; cout
알고리즘/프로그래머스
https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 2017 카카오 블라인드 코딩테스트 5번 뉴스 클러스터링 문제 아이디어 먼저 원소의 조건을 체크하는 부분에서 실수하지 않게 조심해야한다 운이 좋게도 테스트 케이스에서 있었는데 str1 = "aa1+aa2" str2 = "AAAA12" 가 aa aa 과 AA AA AA로 원소가 나누어지고 합집합이 3개 교집합이 2개로{ (aa AA), (aa..
2022. 5. 1.
https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net 백준 온라인 저지 1194번 달이 차오른다, 가자. 문제입니다. 풀이과정 비트마스킹과 BFS를 이용하여 풀이하였는데, 사실 노드의 상태를 비트로 표현하여 탐색하는 문제는 이제 어느정도 익숙해서 풀만해서 풀이자체는 어렵지 않았습니다. 그런데 상태 관리하는 부분과 메모리를 신경쓰지 못해서 고생을 많이 했네요. 상태관리하는 부분은 for문이 돌면서 열쇠가 없이 방문해야하는..
2022. 4. 21.
https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 프로그래머스 소수찾기 문제입니다. #include #include #include using namespace std; string num, paper; int len; int cnt; vector nums; bool use[7]; bitset
2022. 3. 13.
https://www.acmicpc.net/problem/1562 1562번: 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 백준 온라인저지 1562번 계단수 문제입니다. #include #define MAX 101 #define numMax 10 #define MOD 1000000000 using namespace std; int n; long long dp[MAX][numMax][1 > n; } void solution() { for (int i = 1; i