ComputerScience/Algorithm

[백준]

개랭갱깽스타 2021. 2. 25. 09:23

https://www.acmicpc.net/workbook/view/1152

 

문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon)

 

www.acmicpc.net

 

www.acmicpc.net/problem/3190

 

 

https://code.plus.couse/32




 🔑 SW 역량 테스트 준비 - 기초: 브루트 포스, BFS, 다이나믹 프로그래밍에 대한 설명과 기초 문제를 풀어봅니다.
SW 역량 테스트 준비 - 연습: 기초에서 설명한 알고리즘의 여러가지 연습 문제를 풀어봅니다.
SW 역량 테스트 준비 - 문제: 다양한 문제 풀이를 통해 여러가지 알고리즘을 연습해 봅니다.
SW 역량 테스트 준비 - 문제 2: 다양한 문제 풀이를 통해 여러가지 알고리즘을 더 연습해 봅니다.

수학
✓ GCD 합
✓ 나머지
✓ 최대공약수와 최소공배수
✓ 최소공배수
✓ 소수 찾기
✓ 골드바흐의 추측

브루트 포스
✓ 날짜 계산
✓ 일곱 난쟁이
✓ 테트로미노 (*)
✓ 1, 2, 3 더하기 (DP)
✓ 다음 순열
✓ 이전 순열
✓ 모든 순열
✓ 차이를 최대로 (*)
✓ 외판원 순회 2
✓ 암호 만들기 (모음 1개, 자음2개 이상인데, 모음만 체크함)
✓ 연산자 끼워넣기 (자료형 long 으로 안해서...)
✓ 로또
✓ 부분집합의 합
✓ 퇴사
✓ 연산자 끼워넣기 (2) (연산자 끼워넣기와 동일)
✓ 집합 (비트마스크. 계속 메모리초과 ㅡㅡ. bool 도 8비트고 int는 32비트. 최대 32개의 flag를 저장 가능

브루트 포스 (N과 M 연습)
✓ N과 M(1)
✓ N과 M(2)
✓ N과 M(3) (출력할 때 WriteLine 여러번 하지 말고 StringBuilder 써서 한번에 WriteLine 해야함)
✓ N과 M(4)
✓ N과 M(5)
✓ N과 M(6)
✓ N과 M(7) (StreamReader, StreamWriter 사용 안해서 시간초과됨)
✓ N과 M(8)
✓ N과 M(9)
✓ N과 M(10)
✓ N과 M(11)
✓ N과 M(12)

그래프와 BFS
✓ ABCDE (a와b가 친구라면 a친구리스트에 b추가, b친구리스트에 a추가 되어야 함)
✓ DFS와 BFS
✓ 연결 요소 (sw.AutoFlush = true;)
✓ 이분 그래프(**)(입력으로 주어지는 그래프의 정점들이 모두 연결되어 있지 않을 수도 있어요.)
✓ 단지번호붙이기(문제 제대로 안읽음. 오름차순 정렬 안함. 오름차순 정렬 시 List<string> 일 경우 “10” 이 “2” 보다 앞으로 나온다. 따라서 List<int> 로 선언해야함
✓ 섬의 개수
✓ 미로 탐색(DFS로 풀면 안되고 BFS로 풀어야 한다? BFS는 최단경로가 보장된다. DFS는 가능한 모든 경로를 방문하는 거고 BFS는 모든 경로를 방문하지 않는다? xQueue, yQuueue)
✓ 토마토
✓ 숨바꼭질(안되는거 아냐..? 하지말고 일단 해보기. visit로 체크 중요. nextNum 범위 체크 중요)
✓ 이모티콘(nextClip 의 범위..... 휴)
✓ 숨바꼭질 3(비용이 0인 것(*2)부터 체크해야 함)
*************
✓ 알고스팟(우선순위큐)
(c#에는 PriorityQueue가 없고 별도로 구현 필요)
✓ 벽 부수고 이동하기(우선순위큐)(*)
도착지점에 가장 먼저 도착하였을 경우가 bfs 특성상 최단 거리라고 생각을 하였었는데..아니였네요! queue 크기가 다 돌 수 있게하고 가장 작은 length에 대해서 출력할 수 있도록 코드를 수정하였더니 pass 하였습니다. 
✓ 탈출(우선순위큐)
(문제 잘못 읽음..... 비버랑 고슴도치 반대로 봄;)
*************

다이나믹 프로그래밍
✓ 1, 2, 3 더하기
✓ 1, 2, 3 더하기 3
✓ 1로 만들기
✓ 2×n 타일링
✓ 2×n 타일링 2
(각각의 값을 나머지한 값들을 더하면 나누는 수보다 커질 수 있습니다. 예를 들어 1을 2로 나눈 나머지(1)를 세 번 더하면 3이 되어 2보다 커집니다.) + 자료형 ulong
✓ 카드 구매하기(*)
✓ 카드 구매하기 2
✓ 1, 2, 3 더하기 5(long)
✓ 쉬운 계단 수(nextDP에서 dp에 대입 전에 % 연산 해야됨. 그냥 단계별로 다 해준다고 생각하자)
✓ 오르막 수
✓ 이친수
✓ 스티커(*)
✓ 포도주 시식(*)
✓ 가장 긴 증가하는 부분 수열
✓ 가장 긴 증가하는 부분 수열 4
✓ 가장 큰 증가하는 부분 수열
✓ 가장 긴 감소하는 부분 수열
✓ 가장 긴 바이토닉 부분 수열(*)
✓ 연속합(*)
✓ 연속합 2
✓ 제곱수의 합
✓ 합분해(*)


목표 : ~3/15

반응형

'ComputerScience > Algorithm' 카테고리의 다른 글

[백준] 14500-테트로미노  (0) 2021.03.13
[백준] 3190 - 뱀  (0) 2021.03.04
[백준] 13460 - 구슬탈출2  (0) 2021.02.25
[백준] 12100 - 2048(Easy)  (0) 2021.02.25
[DFS] 13460  (0) 2021.02.18