boj

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원이 청구된다. 만약 ..
1. 문제 https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 www.acmicpc.net 2. 접근 및 해결 2-1) 접근 문제에는 아래와 같은 조건이 존재합니다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 처음 봤을 때 IF문을 많이 쓰면 금..
코딩테스트 제출 시 Scanner을 입력하면 시간초과가 나는 경우가 많이 있습니다. BufferedReader를 이용하여 해당 시간초과를 안 나게 할 수 있습니다. 현재 포스팅에서는 백준에서 자바를 이용해 코드를 제출 할 때 기본으로 작성하는 형식 코드가 담겨있습니다. BufferedReader, BufferedWriter 이용 예제입력 10 5 1 10 4 9 2 3 8 5 7 6 위와 같은 예제 입력의 경우 아래와 같이 BufferedReader 형식으로 사용할 수 있습니다. //import java.io.BufferedReader; //import java.io.IOException; //import java.io.InputStreamReader; import java.util.*; import j..
1. 문제 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 2. 접근 및 해결 2-1) 접근 알고리즘 분류가 스택인 만큼, 스택을 사용해서 해결했습니다. 그러나 스택을 꼭 사용할 필요는 없습니다! 저는 그래도 스택으로 풀이해봤습니다. 예제1의 예시를 계속 보다보면, 아래의 사진처럼 총 3개의 규칙을 찾을 수 있습니다. 빨간색 박스: 레이저의 닫는 괄호 -> 이 곳에 위치할 때마다 count 변수에 스택의 크기를 더해준다. 초록색 밑줄: 레이저가 아니고, ..
delay100
'boj' 태그의 글 목록 (2 Page)