Baekjoon
-
백준 13909번: 창문 닫기Baekjoon 2025. 1. 23. 22:08
사람이 1명이면 창문도 1개, 사람이 2명이면 창문도 2개, 즉 사람이 N명이면 창문도 N 개 이다.N번째 사람은 N 의 배수 번째 창문을 열려있음 닫고 닫혀 있으면 연다. 이해하기 쉽게 그림으로설명하면 다음과 같다. 1번째 사람 (5개 창문이 열려 있음) 2번째 사람 (3개 창문이 열려 있음) 3번째 사람 (2개 창문이 열려 있음) 4번째 사람 (3개 창문이 열려 있음) 5번째 사람 (2개 창문이 열려 있음) 이 문제는 숨겨진 규칙이 있다. 가장 좋은 방법은 본인이 규칙을 찾아서 푸는 방법이지만, 규칙이 보이지 않는다면 다음 힌트를 보고 다시 풀어보는 방법을 추천한다. 입력 열려있는 창문의 개수2~31개4~82개9~153개16~244개25~355개36~486개49~637개64~808개 ..
-
백준 1213번: 팰린드롬 만들기Baekjoon 2024. 10. 19. 15:08
문제의 핵심 - 입력한 순서와 상관없이 A~Z순으로 정렬된다.- 입력한 알파벳의 절반은 오름차순으로 절반은 내림차순으로 정렬된다.- 홀수개인 알파벳 수가 둘 이상이면 팰린드롬을 만들 수 없다. 'CCBBA'을 입력했을 때, 출력 값은 'BCACB'이다.'CACCC'을 입력했을 때, 출력 값은 'CCACC'이다.'ABACABA'을 입력했을 때, 출력 값은 'AABCBAA'이다. 팰린드롬 특징을 보면, 홀수개인 알파벳은 A~Z순서 상관없이 가운대로 오고나머지 알파벳은 절반은 오름차순으로, 다른 절반은 내림차순으로 정렬된다.알파벳을 개수를 파악해 홀수개인 알파벳이 2개 이상이면 "I'm Sorry Hansoo"를 출력한다. 1. 기초작업정렬한 값을 넣어줄 StringBuffer함수 생성각 알파벳의 개..
-
백준 2903번: 중앙 이동 알고리즘Baekjoon 2024. 3. 13. 17:34
정사각형 가로세로를 제곱하면 되는 간단한 문제이다.0번 정사각형은 점(●) 4개로 2^2을 한 결과,1번 정사각형은 점(●) 9개로 3^2을 한 결과,2번 정사각형은 점(●) 25개로 5^2을 한 결과이다. 여기서 하나 더 살펴봐야 할 것은 사각형 가로, 세로 ● 점이 2^N+1식 증가( N = 사용자 입력값)하고 있다.1번 정사각형은 2^1+1 = 3 2번 정사각형은 2^2+1 = 5...5번 정사각형은 2^5+1 = 33 으로 입력값 'n'에 따라 2의 지수만 변경된다.ex. Math.pow(2, 입력값)정답코드참고Math.pow() 메서드는 입력값과 출력값이 모두 double형 이다.Math.pow(숫자, 지수)넣어주면 된다.
-
백준 2869번: 달팽이는 올라가고 싶다Baekjoon 2024. 3. 13. 11:02
다음문제는 시간복잡도 O(1)를 요구하는 문제이다. for문으로 간단하게 풀 수 있는 문제이지만, 시간 초과가 뜰 것이다. 예제 입력: 2 1 5달팽이가 올라가는데 며칠이 걸리는지 그림으로 표현하면 다음과 같다.2칸(1,2번)을 올라갔지만 잠을 자는 밤에 1칸을 내려가서 달팽이가 1에 위치한 것을 확인할 수 있다.2칸 (2, 3번)을 올라갔지만 잠을 자는 밤에 1칸 내려가서 달팽이가 2에 위치한것을 확인할 수 있다.2칸 (3, 4번)을 올라갔지만 잠을 자는 밤에 1칸 내려가서 달팽이가 3에 위치한것을 확인할 수 있다.2칸 (4, 5번)을 올라갔지만 정점에 도착하면 미끄러지지 않음으로 나무 막대를 올라가는데 총 4일이 걸렸음을 알 수 있다.즉 마지막으로 나무 막대를 올라가는 날을 제외하곤 하..