백준 18111번 : 마인크래프트
·
코테
정말 어려운 문제였다. 오랬동안 코테를 풀지 않아서 감이 떨어졌을 수도 있지만 그 점을 감안하더라도 체감상 매우 어려웠다. 코드를 설명하자면, 입력을 배열로 받고 최대 높이인 256까지 for loop을 돌면서 연산을 수행하는데, 이때 숫자를 i라고 하자. 그리고 입력받은 배열을 다시 loop를 돌린다. 이때 숫자는 n이라고 가정한다. 만약 n > i 라면 인벤토리에 n - i만큼의 값을 추가하고 걸린시간을 의미하는 sum 변수에 2초 * n에서 i를 뺀 값 만큼을 더한다. n < i 라면 인벤토리에서 블럭을 i - n만큼 빼서 걸린시간을 1초 * i - n값만큼 더한다. 입력받은 배열의 loop가 끝나면 인벤토리에 0 이상의 블럭이 남아있고 걸린시간이 최소거나 최소이고 최대 블럭이 더 클 때 최대블럭값..
백준 1700번 : 멀티탭 스케쥴링
·
코테
골드1문제가 어느 정도 난이도인지 감을 잡기 위해서 한번 도전해봤다! 같은 티어대 문제중에선 쉬운편 인 것 같다. 역시 원리는 간단하다. n개 플러그에 꽂을 k개의 수를 입력받고 플러그에 꽂혀있는 수를 저장할 리스트에 초기값으로 중복되지 않은 3개의 값을 넣어준다. 그리고 k개의 수를 반복문을 돌면서 비교하는데 이때 꽂혀있는 플러그를 뽑는 조건은, 1. 이후에 사용할 일이 없을때 2. n개의 플러그 중에 가장 마지막에 사용할때 이렇게 된다. 이 두가지 조건만 구현해주면 간단하게 풀 수 있다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public ..
백준 12904번 : A와 B
·
코테
import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); StringBuilder t = new StringBuilder(br.readLine()); int n = 0; while (t.length() != 0 && n == 0) { if (t.lastIndexOf("A") == t.length() - 1) { t.deleteCharAt(t.lastIndexOf("A")); } else { t.deleteChar..
(실패) 백준 1195번 : 킥다운
·
코테
갑자기 골드문제에 도전하고 싶어서 푼 문제 한칸씩 전진하면서 0으로 채워서 비교하는 것까진 잘 생각했는데 왜인지 fail이 뜹니다. 실행결과도 똑같이 나오는데 뭐가 문제인지 모르겠네요. import java.io.*; import java.util.ArrayList; import java.util.List; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out))..