"꾸준하고 완벽한 한 걸음"

PS/Baekjoon Online Judge 655

[백준 05568] 카드 놓기 [Java]

문제https://www.acmicpc.net/problem/5568 풀이N개의 카드 중 K개를 골라서 만들어지는 숫자의 종류를 세는 문제다.고르는 순서에 따라 숫자가 달라지기 때문에 순열을 사용했다. for (int i = 0; i 만약 K개를 모두 골랐다면, 하나의 문자열로 합치고 집합에 추가하면 된다. private static void permutations(List permutation) { if (permutation.size() == K) { StringBuilder sb = new StringBuilder(); for (String num : permutation) { sb.append(num)..

[백준 26265] 멘토와 멘티 [Java]

문제https://www.acmicpc.net/problem/26265 풀이주어진 N개의 멘토-멘티 쌍에 대해 멘토를 기준으로 사전순정렬, 만약 동일하다면 멘티를 기준으로 역사전순 정렬하면 된다. // Solve list.sort((s1, s2) -> { int cmp = s1[0].compareTo(s2[0]); if (cmp == 0) { return -s1[1].compareTo(s2[1]); } return cmp; });소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-j..

[Official Learn Next.js] Learn ‘App Router’ - Chapter 2. CSS Styling

App Router: CSS Styling현재 프로젝트에는 아무런 스타일도 적용되지 않았습니다.이번 장에서는 Next.js에서 스타일을 지정하는 다양한 방법을 살펴보겠습니다.전역 CSS 파일 추가하기Tailwind와 CSS 모듈유틸리티 패키지 clsx를 사용해 조건부로 클래스 이름을 추가하는 방법전역 스타일프로젝트 내부의 /app/ui 폴더에 global.css 파일을 사용해 전역 CSS를 설정할 수 있습니다.⚠️global.css 는 최상위 구성 요소에 추가하는 것이 좋습니다./app/layout.tsx파일로 이동해 전역 스타일을 추가합니다.import '@/app/ui/global.css'; export default function RootLayout({ children,}: { children..

[백준 19564] 반복 [Java]

문제https://www.acmicpc.net/problem/19564 풀이어떤 키를 누르든 A ~ Z부터 한 번씩 주어지므로주어진 문자열 S를 만들기 위해서는 각 문자가 이전 문자보다 순서가 사전순으로 뒤에 위치할 때만 추가로 키를 눌러도 되지 않는다.만약 이전 문자와 동일한 문자, 또는 순서가 앞서는 문자가 나온다면 키를 한번 더 눌러서 A-Z를 얻어야 한다. // Solve int cnt = 1; for (int i = 1; i 소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/19564.java

[백준 04150] 피보나치 수 [Java]

문제https://www.acmicpc.net/problem/4150 풀이주어진 N에 대한 피보나치 수를 구하는 문제다.정답은 최대 1000자를 넘을 수 있기 때문에 기본 자료형으로는 문제를 풀 수 없다.BigInteger을 사용해 해결하면 된다. List f = new ArrayList(); // Solve f.add(BigInteger.valueOf(0)); f.add(BigInteger.valueOf(1)); f.add(BigInteger.valueOf(1)); for (int i = 3; i 소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online..

[백준 13419] 탕수육 [Java]

문제https://www.acmicpc.net/problem/13419 풀이주어진 문자열에 대해 두 명이 탕수육 게임을 한다고 한다.자신의 차례 때 말해야 하는 문자로만 이루어진 최소 문자열을 출력하는 문제다.자신의 순서(0 또는 1번 인덱스)에서 2개씩 건너뛰며 다시 자신의 순서로 돌아올 때 까지 문자를 선택하면 된다. int idx = 0; StringBuilder a = new StringBuilder(); StringBuilder b = new StringBuilder(); do { a.append(S.charAt(idx)); idx = (idx + 2) % S.le..

[백준 14656] 조교는 새디스트야!! [Java]

문제https://www.acmicpc.net/problem/14656 풀이입력받은 N명의 학생 중 순서대로 서있지 않은 학생의 수를 구하는 문제다.인덱스는 0부터 시작이니, i번째 학생의 번호가 i + 1와 일치하지 않는 경우를 세면 된다. // Solve int cnt = 0; for (int i = 0; i 소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/14656.java

[백준 01052] 물병 [Java]

문제https://www.acmicpc.net/problem/1052 풀이N개의 병을 2개씩 합쳐서 하나의 병으로 만드는 문제다.만약 K개의 병으로 만들 수 없다면 병을 한 개 더 추가해 다시 합칠 수 있다.2개의 병을 한 개의 병으로 합치기 때문에 N을 최대로 합칠 수 있는 병의 수는 N을 이진수로 했을 때 1의 개수와 동일하다.예제 1번은 다음과 같다.1 1 1 1 1 1 1 1 1 1 1 1 12 2 2 2 2 2 14 4 4 18 4 1$13=1101_{(2)}$으로 필요한 병의 수는 3개지만, K는 2이므로 병을 더 추가해야 한다.$14 = 1110_{(2)}$에 대해 K는 2, 추가된 병은 1개다. 14개의 병을 합쳐 총 3개의 병에 { 8, 4, 2 }담을 수 있다.이를 코드로 구현하면 다음..