반응형 전체 글1342 [BOJ] 백준 20058 마법사 상어와 파이어스톰 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/20058 Input 3 10 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 1 2 0 3 2 1 2 3 2 3 Output 248 62 정방행렬을 시계방향으로 90도 회전시키고, 가장 큰 덩어리를 찾기위한 BFS를 구현하여 해결할 수 있습니다. 전체 map[][]의 크기는 2N × 2N 이며, 부분 격자의 크기는 2L × 2L 입니다. ① 부분 격자 회전 전체 영역을 탐색하되, 부분 격자 크기만큼 증가하.. 2021. 2. 17. [BOJ] 백준 20057 마법사 상어와 토네이도 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/20057 Input 5 0 0 100 0 0 0 0 100 0 0 0 0 0 0 0 0 0 100 0 0 0 0 100 0 0 Output 283 Input 9 193 483 223 482 858 274 847 283 748 484 273 585 868 271 444 584 293 858 828 384 382 818 347 858 293 999 727 818 384 727 373 636 141 234 589 991 913 564 555 827 0 999 123 123 123 321 321 321 983 982 981 983 980 990 908 105 270 173 147 148 8.. 2021. 2. 16. [BOJ] 백준 16234 인구이동(Java) 출처: https://www.acmicpc.net/problem/16234 Input 2 20 50 50 30 20 40 Output 1 자세한 풀이는 아래 링크 참고 [BOJ] 백준 16234 인구 이동 (C/C++) 출처: https://www.acmicpc.net/problem/16234 Input 2 20 50 50 30 20 40 Output 1 L = 20, R = 50 이기 때문에, 모든 나라 사이의 국경선이 열린다. (열린 국경선은 점선으로 표시) 연합은 하나 존재하고,.. zoosso.tistory.com import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue;.. 2021. 2. 16. [BOJ] 백준 16234 인구 이동 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/16234 Input 2 20 50 50 30 20 40 Output 1 L = 20, R = 50 이기 때문에, 모든 나라 사이의 국경선이 열린다. (열린 국경선은 점선으로 표시) 연합은 하나 존재하고, 연합의 인구는 (50 + 30 + 20 + 40) 이다. 연합의 크기가 4이기 때문에, 각 칸의 인구수는 140 / 4 = 35명이 되어야 한다. Input 2 40 50 50 30 20 40 Output 0 경계를 공유하는 나라의 인구 차이가 모두 L보다 작아서 인구 이동이 발생하지 않는다. Input 2 20 50 50 30 30 40 Output 1 L = 20, R = 50이.. 2021. 2. 16. [BOJ] 백준 20056 마법사 상어와 파이어볼 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/20056 Input 7 5 3 1 3 5 2 4 2 3 5 2 6 5 2 9 1 7 6 2 1 3 5 4 4 2 4 2 Output 9 ① 파이어볼들을 이동시킵니다. ② 이동이 끝난 후, map[][]에 파이어볼이 2개 이상인 경우에는 파이어볼을 규칙에 따라 4개로 나눕니다. - map[][]에 파이어볼이 1개 있는 경우에는 유지 ③ K번의 명령 종료 후 남아있는 파이어볼 질량의 합을 구합니다. ▶ 해당 문제는 파이어볼의 이동을 구현하는 것과 한 격자 map[][]에 2개 이상의 파이어볼을 구현해야 합니다. 즉, 한 격자에서 여러개의 파이어볼을 담을 수 있어야 합니다. - map[].. 2021. 2. 16. [BOJ] 백준 16235 나무 재테크 (Java) 삼성 sw 기출문제 모음 (코딩 테스트) 아래쪽으로 갈수록 최근에 출제된 문제입니다. ※ 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 코딩 테스트 준비(A형) 하기 내용은 시기에 따라 다를 수 있으므로 참고자료로 활용하시기 권장드립니다 zoosso.tistory.com 출처: https://www.acmicpc.net/problem/16235 Input 5 2 2 2 3 2 3 2 2 3 2 3 2 2 3 2 3 2 2 3 2 3 2 2 3 2 3 2 2 1 3 3 2 3 Output 15 ① 5 x 5의 양분이 주어진 땅이 주어집니다. ② 2개의 나무가 존재합니다. - (2, 1)에 나이 = 3인 나무 - (3, 2)에 나이 = 3인 나무 * 한 칸에 여러개의 나무를 심을 수 있다. ③ 2(=K)년 .. 2021. 2. 16. [BOJ] 백준 16235 나무 재테크 (C++) 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/16235 Input 5 2 2 2 3 2 3 2 2 3 2 3 2 2 3 2 3 2 2 3 2 3 2 2 3 2 3 2 2 1 3 3 2 3 Output 15 어떤 언어와 자료구조를 이용하느냐에 따라 구현 차이가 있을 수 있습니다. - 한 칸에 여러 나무가 존재 - 봄에 양분을 먹는 경우 나이가 어린 나무부터 양분을 먹는다. - 양분을 죽지 못한 나무는 죽으면서 해당 칸의 양분으로 더해집니다. - map[][] 안에 양분energy과 나무 목록 tList를 가집니다. - [봄]: 나이가 작은 순으로 양분을 먹기 위해서 sort() 처리 - [여름]: 죽은 나무를 리스트에서 pop하기.. 2021. 2. 16. [BOJ] 백준 1280 나무 심기 출처: https://www.acmicpc.net/problem/1280 Input 5 3 4 5 6 7 Output 180 x 좌표에 나무를 심는 비용 = 현재 심어진 모든 나무와 거리 ex) [A] - [B] - [X] - [C] - [D] - [E] ▶ |X - A| + |X - B| + |C - X| + |D - X|+ |E - X| 심으려는 위치 X를 기준으로 앞/뒤로 계산식을 표현하면 다음과 같습니다. 앞: 2 * X - (A + B) → 앞쪽에 심어져 있는 나무의 갯수 * 심으려는 좌표 - (앞쪽에 심어져 있는 좌표의 합) 뒤: (C + D + E) - 3 * X → (뒤쪽에 심어져 있는 좌표의 합) - 뒤쪽에 심어져 있는 나무의 갯수 * 심으려는 좌표 문제에서 요구하는 시간내에서 이를 구하.. 2021. 2. 16. [BOJ] 백준 2268 수들의 합 출처: https://www.acmicpc.net/problem/2268 #세그먼트 트리 #구간 합 Input 3 5 0 1 3 1 1 2 1 2 3 0 2 3 0 1 3 Output 0 3 5 세그먼트 트리 구조를 구현하는 문제입니다. * 자료 범위가 long long 타입이 요구됩니다. * 주어지는 query 하는 구간이 i > j 일 수 있으므로 swap 처리가 필요합니다. - 특정 위치의 값을 수정하는 update() void update(LL tree[], int now, int s, int e, int pos, int val) { if (s == e) { tree[now] = val; return; } int L = now * 2, R = L + 1, mid = (s + e) / 2; if(pos 2021. 2. 16. [BOJ] 백준 2536 버스 갈아타기 출처: https://www.acmicpc.net/problem/2536 Input 7 6 8 1 2 1 2 2 2 1 1 5 1 6 7 3 7 6 7 2 1 2 6 3 3 2 6 2 4 5 6 5 1 5 1 5 7 5 8 3 5 6 5 2 1 7 4 Output 3 ① BFS탐색하기 위해서 Queue에 출발지에서 승차할 수 있는 버스 번호를 저장합니다. 수평[idx] = idx번째에서 수평으로 이동하는 버스 번호를 저장합니다. 수직[idx] = idx번째에서 수직으로 이동하는 버스 번호를 저장합니다. ② BFS 탐색은 크게 2가지 방향으로 진행됩니다. - 수평(ㅡ)으로 이동하는 버스 - 수직( | )으로 이동하는 버스 ③ 수평으로 이동한다고 했을 때, x 좌표가 동일합니다. 해당 위치들에서 탈 수 있는.. 2021. 2. 16. 이전 1 ··· 126 127 128 129 130 131 132 ··· 135 다음 반응형