전체 글 (445) 썸네일형 리스트형 [백준] 피보나치 수 5 (10870번) 코드 힌트재귀를 이용한 피보나치 수열 계산피보나치 수열은 이전 두 항의 합으로 현재 항을 계산합니다.이 문제에서는 재귀를 사용하여 피보나치 수를 계산합니다.재귀 함수 구현하기함수 pibo(int n)은 피보나치 수열의 n번째 항을 계산합니다.기본 사례로 n이 0일 때와 1일 때의 값을 직접 반환합니다.그 외의 경우에는 pibo(n-1)과 pibo(n-2)를 재귀적으로 호출하여 두 값의 합을 반환합니다. 정답은 더보기 클릭더보기import java.io.*;public class Main { public static void main(String[] args) throws NumberFormatException, IOException { // 입력을 받기 위해 BufferedReader .. [백준] ACM 호텔 (10250번) 코드 힌트문제 해결 접근주어진 문제는 특정 층과 방 수를 가진 호텔에서 손님을 배정하는 방 번호를 계산하는 것입니다.각 손님은 특정 층의 특정 방에 배정되어야 하며, 방 번호는 층 수와 방 번호를 조합하여 생성됩니다.층과 방 번호 계산하기층(floor)은 손님 번호 n을 총 층수 h로 나눈 나머지에 1을 더하여 결정합니다.방 번호(room)는 손님 번호 n을 총 층수 h로 나눈 몫에 1을 더하여 결정합니다.문자열 포맷팅String.format("%d%02d", floor, room)을 사용하여 방 번호를 두 자리로 포맷합니다. floor는 그대로 두 자리 수로 표시하고, room은 두 자리 수로 표시되며, 부족한 자리는 0으로 채워집니다. 정답은 더보기 클릭더보기import java.io.*;publi.. [백준] 팩토리얼 10872번 코드 힌트재귀함수 사용하기재귀함수는 함수가 자기 자신을 호출하는 함수입니다. 이 문제에서는 팩토리얼을 계산하기 위해 재귀함수를 사용합니다.기본값 반환하기재귀함수에서 종료 조건을 설정하는 것이 중요합니다. n이 0이 될 때 1을 반환하도록 설정합니다. 이것은 팩토리얼의 기본값입니다 (0! = 1).재귀 호출하기재귀 호출은 현재 값을 다음 재귀 호출의 결과와 곱하는 방식으로 진행됩니다. 예를 들어, n이 5일 때 5 * factorial(4)을 호출합니다. 이렇게 재귀적으로 호출하여 1까지 계산합니다.BufferedReader와 BufferedWriter 사용하기BufferedReader를 사용하여 입력 값을 읽고, BufferedWriter를 사용하여 결과를 출력합니다. 이러한 방식은 입출력 속도를 최적화.. [백준] OX퀴즈 8958번 코드 힌트문제 이해:이 문제는 주어진 OX 퀴즈에서 연속된 'O'의 점수를 계산하는 것입니다. 'O'가 연속될수록 점수가 높아지며, 'X'를 만나면 점수가 초기화됩니다.점수 계산 방법:각 문자열을 순차적으로 검사하면서 'O'가 나타날 때마다 이전의 점수에 1을 더합니다. 예를 들어, 'OOXOO'라면 첫 번째 'O'는 1점, 두 번째 'O'는 2점, 세 번째 'O'는 1점, 네 번째 'O'는 2점이 됩니다.연속된 O 관리:연속된 'O'의 개수를 변수로 관리합니다. 'O'가 나올 때마다 변수를 증가시키고, 'X'가 나오면 이를 0으로 초기화합니다.입출력 처리:BufferedReader와 BufferedWriter를 사용하여 입력과 출력을 처리합니다. 이는 효율적인 입출력을 보장하기 위해 사용됩니다.다중 테.. [백준] 더하기 사이클 1110번 코드 힌트문제 이해:이 문제는 주어진 숫자를 특정 규칙에 따라 변형한 후, 다시 원래의 숫자로 돌아올 때까지 몇 번의 변형이 필요한지를 묻는 문제입니다.변형 규칙:주어진 숫자의 각 자리수를 분리하여 더한 뒤, 그 결과를 이용해 새로운 숫자를 생성합니다.예를 들어, 26이라는 숫자가 주어지면, 2와 6을 더해 8이 되고, 마지막 자리 6과 8을 결합해 새로운 숫자 68이 됩니다.사이클의 길이 계산:반복문을 사용하여 숫자를 변형하고, 그 과정에서 원래의 숫자로 돌아올 때까지 변형 횟수를 기록합니다.변형이 끝난 후, 사이클의 길이(변형 횟수)를 출력합니다.입출력 처리:BufferedReader와 BufferedWriter를 사용하여 입력과 출력을 처리합니다. 이는 대량의 데이터를 효율적으로 처리하기 위함입니다.. [프로그래머스] 컨트롤 제트 코드 힌트스택을 활용한 문제 해결:스택은 LIFO(Last In, First Out) 방식으로 작동하므로, 최근에 추가된 요소를 쉽게 제거할 수 있습니다. "Z"는 최근에 추가된 숫자를 제거하라는 의미이므로, 스택을 사용하여 이를 간단히 처리할 수 있습니다.숫자와 명령어 구분:문자열을 공백으로 나눈 후, 각 단어가 숫자인지 "Z"인지 구분하여 처리합니다. "Z"는 스택에서 마지막 숫자를 제거하고, 숫자는 스택에 추가합니다. 배열을 활용한 간단한 접근:배열을 사용하면 각 요소에 직접 접근하고 수정할 수 있으므로, "Z"가 있는 경우 간단히 이전 숫자를 "0"으로 변경하여 처리할 수 있습니다.공백으로 분할 후 처리:공백으로 문자열을 분할하여 각 요소를 배열로 변환한 후, "Z"에 따라 이전 요소를 변경하는 .. [프로그래머스] 한 번만 등장한 문자 코드 힌트알파벳 빈도수 카운트:문자열에 포함된 각 알파벳의 등장 횟수를 카운트해야 합니다. 이를 위해 int 배열을 사용하여 알파벳의 빈도수를 저장합니다.배열의 인덱스는 알파벳의 ASCII 코드에서 'a'를 뺀 값을 사용하여 각 알파벳을 구분합니다. 예를 들어, 'a'는 인덱스 0, 'b'는 인덱스 1, 'z'는 인덱스 25입니다.문자 빈도수 처리:문자열을 순회하면서 각 문자의 등장 횟수를 배열에 기록합니다. 배열의 값이 1인 경우 해당 문자는 문자열에서 유일하게 나타난 문자입니다.결과 문자열 생성:등장 횟수가 1인 문자를 찾으면, 이 문자를 결과 문자열에 추가합니다.StringBuilder를 사용하여 최종 결과 문자열을 효율적으로 구성합니다.문자와 인덱스 변환:배열의 인덱스를 문자로 변환하려면, cha.. [Java] Arrays, Array 메소드 정리 Arrays.sort(T[] a)반환 타입: void설명: 배열의 요소를 오름차순으로 정렬합니다.인자:a - 정렬할 배열 (T[]).Arrays.equals(T[] a, T[] b)반환 타입: boolean설명: 두 배열의 요소를 비교합니다. 두 배열의 요소 값과 순서가 모두 같으면 true, 그렇지 않으면 false를 반환합니다.인자:a - 비교할 첫 번째 배열 (T[]).b - 비교할 두 번째 배열 (T[]).Arrays.copyOf(T[] original, int newLength)반환 타입: T[]설명: 원본 배열의 처음부터 newLength까지 복사하여 새로운 배열을 반환합니다. 원본 배열의 길이보다 큰 길이를 요청하면 추가된 부분은 기본값으로 채워집니다.인자:original - 복사할 원본 배.. 이전 1 ··· 29 30 31 32 33 34 35 ··· 56 다음