본문 바로가기

PS831

[자바] 백준 23810 - 골뱅이 찍기 - 뒤집힌 ㅋ (boj java) 문제 : boj23810 규칙을 찾고 구현해보자! @가 가득찬 경우를 type 0, 좌측에 일부분만 @가 있는 경우를 type 1이라고 해보자. type 0의 경우 n행에 걸쳐서 5n개의 골뱅이를 출력한다. type 1의 경우 n행에 걸쳐서 n개의 골뱅이를 출력한다. type에 따라 위의 규칙에 맞춰 출력해주는 함수를 구현한 후, type 0; type 1; type 0; type 1; type 1; 순서대로 출력을 해주면 된다! 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { private void print(int n, StringBuilder sb, int type) { fo.. 2022. 7. 16.
[자바] 백준 23805 - 골뱅이 찍기 - 돌아간 ㄹ (boj java) 문제 : boj23805 규칙을 찾아서 구현해주면 된다. 규칙은 아래와 같다. 1. n줄에 걸쳐 3n개의 @, n개의 공백, n개의 @ 2. 3n줄에 걸쳐 n개의 @, n개의 공백, n개의 @, n개의 공백, n개의 @ 3. n줄에 걸쳐 n개의 @, n개의 공백, 3n개의 @ 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { StringBuilder sb = new StringBuilder(); private void print(char c, int cnt) { while (cnt-->0) sb.append(c); } private void br() {sb.append('\n');}.. 2022. 7. 15.
[자바] 백준 6581 - HTML (boj java) 문제 : boj6581 결국엔 문제에서 제시된대로 구현하면 되긴..하는데.. 좀 까다롭긴하다. 그래도 뭐 해설을 할 부분은 딱히 없는 것 같다. 문제의 조건대로 구현만 하면 되긴하니. 특히 주의할 점이라면 각 줄의 끝에 공백문자가 있으면 안된다. 즉, 'abc ' 이러면 안되고 'abc' 이래야 한다. 이것 때문에 좀 헤맸다. 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { int idx = 0; StringBuilder sb = new StringBuilder(); pr.. 2022. 7. 14.
[자바] 백준 23811 - 골뱅이 찍기 - ㅌ (boj java) 문제 : boj23811 규칙을 찾고 구현해보자. 위와 같이 A형태와 B 형태가 있고, A B A B A 형태로 출력하고 있다. A를 type=0, B를 type=1 이라고 해보자. type 0의 경우 n행에 걸쳐서 5n개의 골뱅이를 출력한다. type 1의 경우 n행에 걸쳐서 n개의 골뱅이를 출력한다. type에 따라 위의 규칙에 맞춰 출력해주는 함수를 구현한 후, type 0; type 1; type 0; type 1; type 0; 순서대로 출력을 해주면 된다! 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { private void print(int n, StringBuild.. 2022. 7. 13.
[자바] 백준 11648 - 지속 (boj java) 문제 : boj11648 n이 한자리 수가 될 때 까지, 각 자리수를 곱한 새로운 값을 구해 n에 넣어주면 된다. 각 자리수를 곱하는 부분은 이하 코드의 요 부분을 참고해보자. while (n!=0) { cur*=n%10; n/=10; } 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { private void solution() throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int cnt =.. 2022. 7. 12.
[ABC259] D - Circumferences (AtCoder Beginner Contest 259 in Java) 문제 : abc259_d 내 경우엔 그래프로 변경해서 풀었다. 우선 ArrayList의 idx를 기준으로 0번에 s, 1번에 t를 둔다. 이후 N개의 원을 입력받으면서 s와 t를 포함해서 모든 원의 쌍들에 대해 서로 인접해 있다면 양방향 간선을 연결한다(코드의 edgeChk, O(3000^2)). 단, s와 t의 경우엔 외곽선에 겹칠 경우에만 겹친다고 판단하고 간선을 연결한다(코드의 circumferenceChk). 예를들어 이하의 입력을 보자. 4 0 -2 3 3 0 0 2 2 0 2 2 3 1 -3 3 3 이에 대한 이미지와 각 idx는 다음과 같다. 그리고 간선정보는 다음과 같다. (예를들어 1행 4열의 v는 idx 1과 idx 4가 인접함을 뜻한다.) 그럼 이제 이 문제는 N+2개의 정점이 있는 .. 2022. 7. 11.
[ABC259] C - XX to XXX (AtCoder Beginner Contest 259 in Java) 문제 : abc259_c 내 경우엔 String을 다음과 같이 압축시켜서 판단했다. abbaac => a1 b2 a2 c1 abbbbaaac => a1 b4 a3 c1 위와 같이 압축시킬 경우, 다음과 같이 판단할 수 있다. 1. 압축시킨 갯수가 다를 경우 No (예를들어 a1 b2 c2 vs a1 b2 였다면 3개와 2개로 비교해볼 것도 없이 No 이다.) 2. 압축시킨 부분에서 문자 부분이 서로 다른 경우 No (예를들어 a1 b1 c1 vs a1 d1 c1) 3. 압축시킨 각 부분에서 숫자가 S를 압축시킨쪽이 더 큰 경우 No (예를들어 a2 vs a1) 4. 압축시킨 각 부분에서 숫자가 서로 다른데, S가 1인 경우 No (예를들어 a1 vs a2) 5. 이외의 경우 Yes 코드 : github .. 2022. 7. 11.
[ABC259] A - Growth Record (AtCoder Beginner Contest 259 in Java) 문제 : abc259_a 예를들어 N=4, T=10, D=3, X=3 인 경우를 그려보면 다음과 같다. 이 때, X부터는 변화가 없으므로 M이 X이상이라면 단순히 T가 답이 된다. 그 이하의 경우가 문제인데 그 이하의 경우엔 일정하게 줄어들게 되므로 T-(X-M)*D 가 될 것이다. 말로 설명하면 [X일때의 키(T)]-[X에서 몇 번 D만큼 내려가야하는지(X-M)]*[키의 변화수치(D)] 이다. 코드 : github ... private void solution() throws Exception { int n = nextInt(); int m = nextInt(); int x = nextInt(); int t = nextInt(); int d = nextInt(); if (m >= x) { System... 2022. 7. 11.
[자바] 백준 9288 - More Dice (boj java) 문제 : boj9288 'In each pair, the die values should be ordered from lowest to highest'와 'Only list unique dice combinations'에 따라 이하의 로직으로 확인하면 된다! for 1번 주사위를 1부터 6까지 증가시키면서 : for 2번 주사위를 1번 주사위의 현재 눈금 이상부터 6까지 증가키시면서 : 1번 주사위와 2번 주사위의 합이 입력으로 받은 합계인 경우 1번주사위, 2번주사위 순서로 출력한다.; 위와 같이 진행하면 문제의 조건을 지키면서 brute force로 모든 경우를 확인할 수 있다. 코드 : github import java.io.BufferedReader; import java.io.InputStrea.. 2022. 7. 11.
[코틀린, 자바] 백준 25214 - 크림 파스타 (boj kotlin java) 문제 : boj25214 매번 최소값과 최대값을 갱신한다고 생각해보자. 이 때 최소값이 갱신된 경우가 문제인데, 애초에 최소값이 갱신됬다고 i를 해당 값으로 선택하면 선택할 수 있는 j는 자기 자신밖에 없다(i cur) min = cur else ans = Math.max(ans, cur-min) sb.append(ans).append(' ') } println(sb) } 코드(java) : github import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { private void solution() throws Exception { Buffered.. 2022. 7. 11.