2024/02

1. 문제 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 2. 접근 및 해결 2-1) 접근 1. bfs로 접근합니다. 2. 3차원 배열(isVisited)을 이용합니다. isVisited[부순 벽인지][x][y]로 작성했습니다. -> 부순 벽인지? 0:부수지 않고 옴, 1: 부숴서 옴 부수지 않고 현재 x, y좌표까지 왔는지? 부숴서 현재 x, y좌표까지 왔는지를 나타냅니다. 3. Node는 x, y, cnt(현재까지..
1. 문제 https://www.acmicpc.net/problem/6198 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net 이 문제를 풀기 바로 전에 풀었던 탑 문제와 유사하다. https://delay100.tistory.com/108 [BOJ] 백준 2493번: 탑_자바(JAVA) 1. 문제 https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 ..
1. 문제 https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 2. 접근 및 해결 2-1) 접근 Stack이 pop되면서 변경되는 index를 처리하기 위해 Top이라는 객체를 만들어줬습니다. 이렇게 객체로 만들지 않으면, 스택이 pop되면서 현재 index위치를 잃어버리게 됩니다. 이 객체를 만들기 전에는 이중 for문으로 처리했었는데, 그럼 시간초과에서 벗어날 수가 없어서 채용했습니다.. class Top { int index; int hei..
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. 접근 및 해결 2-1) 접근 Stack stk = new Stack(); int num = 1; // (앞으로) 스택에 추가할 값 (1
1. 문제 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 2. 접근 및 해결 2-1) 접근 투포인터를 사용하지 않고 구현하는 방법입니다. // 입력 9 5 12 7 10 9 1 2 3 11 13 int[] numList = new int[num]; // [5, 12, 7, 10, 9, 1, 2, 3, 11] int[] list = new int[2000001]; 먼저 입력으로 들어오는 a..
1. 문제 https://www.acmicpc.net/problem/1267 1267번: 핸드폰 요금 동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 접근 및 해결 2-1) 접근 문제에서 주의할 점은 아래의 단락입니다. 영식 요금제는 30초마다 10원씩 청구된다. 이 말은 만약 29초 또는 그 보다 적은 시간 통화를 했으면 10원이 청구된다. 만약 30초부터 59초 사이로 통화를 했으면 20원이 청구된다. 민식 요금제는 60초마다 15원씩 청구된다. 이 말은 만약 59초 또는 그 보다 적은 시간 통화를 했으면 15원이 청구된다. 만약 ..
delay100
'2024/02 글 목록