전체 글 (435) 썸네일형 리스트형 [백준] 나이순 정렬 (10814번) 코드 힌트입력 처리:데이터를 효율적으로 읽기 위해 입력 스트림을 설정합니다. 첫 번째 입력 값은 총 데이터의 수를 나타냅니다.각 데이터 항목을 두 부분으로 나누어 처리합니다: 첫 번째 부분은 숫자, 두 번째 부분은 문자열입니다.정보 저장:숫자와 문자열 정보를 각각 두 개의 별도 배열에 저장합니다. 숫자는 정렬할 수 있는 배열에, 문자열은 관련된 이름을 저장할 배열에 담습니다.정렬:숫자 배열의 복사본을 만들어 정렬합니다. 이를 통해 숫자들을 오름차순으로 정렬할 수 있습니다.출력 준비:정렬된 숫자 배열을 순회하면서 원본 배열에서 숫자와 관련된 문자열을 찾아 출력합니다. 숫자가 중복되면 처리하지 않기 위해 해당 항목은 무시합니다.결과 출력:준비된 출력 결과를 스트림을 통해 출력합니다. 모든 데이터가 처리된 후.. [프로그래머스] [3차] 압축 코드 힌트사전 초기화:처음에는 단일 문자(알파벳 A부터 Z까지)로 초기화된 사전을 사용합니다. 이 사전은 문자열을 인코딩하는 데 사용됩니다.문자열 탐색:주어진 문자열을 탐색하면서 가능한 한 많은 문자들을 포함한 단어를 사전에서 찾습니다. 현재 문자부터 시작하여 다음 문자를 추가하면서 사전에 있는지 확인합니다.단어 추가 및 인덱스 기록:찾은 단어가 사전에 존재하지 않으면, 현재 단어의 인덱스를 결과 리스트에 추가합니다. 그 후, 다음 문자를 추가하여 새로운 단어를 사전에 추가합니다.문자열 인코딩:현재 탐색 위치가 문자열의 끝에 도달할 때까지 위의 과정을 반복하여 모든 단어를 인코딩합니다.결과 배열 변환:최종적으로 저장된 인덱스들을 배열로 변환하여 반환합니다. 사전 초기화 코드String[] initialW.. [프로그래머스] 다항식 더하기 코드 힌트문자열 분리:입력된 다항식을 공백(" ")을 기준으로 분리하여 각 항을 확인합니다. 이 과정에서 split(" ") 메소드를 사용합니다.항의 구분:각 항이 'x'를 포함하는지 여부를 확인합니다. 'x'가 포함된 항은 변수 항으로 취급하고, 나머지 항은 상수로 처리합니다.계수 처리:'x' 항이 단독으로 있는 경우 계수를 1로 설정합니다. 'x'와 숫자가 함께 있는 경우 해당 숫자를 계수에 추가합니다.결과 문자열 구성:변수 항과 상수 항의 값을 조합하여 최종 문자열을 만듭니다. 변수 항이 없거나 상수 항이 없는 경우 이를 적절히 처리합니다.특별한 경우 처리:모든 항이 0인 경우 "0"을 반환하고, 상수 항이 없거나 변수 항만 있는 경우 적절히 결과 문자열을 조정합니다. 정답은 더보기 클릭더보기cl.. [프로그래머스] 특이한 정렬 코드 힌트거리 계산:각 원소와 기준값 n의 거리(절대값 차이)를 계산합니다. 이 거리 정보를 기반으로 원소를 정렬할 것입니다.최소 거리 찾기:두 개의 반복문을 사용하여 현재 원소의 거리와 최소 거리를 비교하고, 가장 가까운 원소를 찾습니다. 같은 거리를 가진 원소 중에서는 값이 큰 원소를 우선시합니다.중복 방지:이미 선택된 원소를 다시 처리하지 않도록 거리 배열의 값을 -1로 설정하여 중복을 방지합니다.정렬 및 반환:최종적으로 거리 기준으로 정렬된 원소들을 결과 배열에 저장하여 반환합니다. 정답은 더보기 클릭더보기class Solution { public int[] solution(int[] numlist, int n) { // 결과를 저장할 배열 생성 int[] resu.. [프로그래머스] 유한소수 판별하기 코드 힌트기약 분수 만들기:먼저 주어진 두 수를 사용해 기약 분수로 만듭니다. 이 과정에서 분모를 최대공약수로 나누어 간소화합니다. 유한소수인지 판별하는 데 집중하기 때문에, 분모만 간소화하는 것이 핵심입니다.최대공약수 구하기:두 숫자의 최대공약수를 구해 기약 분수를 만드는 과정입니다. 최대공약수는 두 숫자를 계속해서 나누어 0이 될 때까지 재귀적으로 구할 수 있습니다. 이 과정에서 분모가 간단해집니다.유한소수 판별:분모를 소인수분해하여 2와 5 이외의 다른 소인수가 있는지 확인합니다.숫자를 반복적으로 나누어 2나 5 이외의 소인수가 존재하면 유한소수가 아니므로 false를 반환합니다.그렇지 않다면 true를 반환하여 유한소수임을 확인합니다.정답은 더보기 클릭더보기class Solution { pu.. [알고리즘] 소인수분해 (Java) 소인수분해란?소인수분해는 어떤 수 n을 더 이상 나눌 수 없는 소수(소인수)들의 곱으로 표현하는 것을 의미합니다. 예를 들어, 12는 더 이상 나눌 수 없는 소수인 2와 3의 곱으로 분해할 수 있습니다.소인수란?소인수란 어떤 수를 나누어떨어지게 할 수 있는 소수를 말합니다. 다시 말해, 소인수는 자신보다 작은 두 개의 자연수의 곱으로 나눌 수 없는 수입니다. 예를 들어, 2, 3, 5, 7 등이 소수이며, 어떤 자연수를 소수로 나누어 나머지가 0이 된다면 그 소수는 해당 수의 소인수입니다.소인수분해 예시: 1212를 소인수로 분해하는 과정은 다음과 같습니다:나눌 수 있는 가장 작은 소수인 2로 12를 나누면 6이 됩니다.다시 2로 6을 나누면 3이 됩니다.마지막으로 3을 나누면 1이 됩니다.즉, 12 =.. [프로그래머스] 저주의 숫자 3 코드 힌트숫자 증가 및 조건 확인:특정 변수를 1씩 증가시키며, '3'이 포함되거나 3의 배수가 되는 순간을 찾아냅니다.이 과정은 주어진 매개변수 n이 0이 될 때까지 반복됩니다. 변수가 증가하는 동안, n은 원하는 횟수만큼 감소하게 됩니다.'3' 포함 여부 및 3의 배수 확인:숫자를 문자열로 변환한 후, '3'이 포함되어 있는지를 검사합니다. 이 조건을 만족하는지 확인하여 적절히 처리합니다.또한, 숫자가 3의 배수인지를 확인하는 조건을 사용합니다. 이 두 조건 중 하나라도 만족하면 반복문이 건너뛰어집니다.매개변수 감소:위의 조건을 만족하지 않을 때만 n이 1씩 감소됩니다. 이로 인해 특정 조건을 만족하는 숫자들을 건너뛰게 됩니다.결과적으로 n이 0이 될 때까지 반복하여, 최종 결과를 반환합니다.정답은 .. [백준] 터렛 (1002번) 코드 힌트두 원의 중심이 같을 때:반지름이 같을 경우: 두 원이 완전히 겹치며, 무한히 많은 교점이 존재할 수 있습니다. 이 경우 교점의 개수를 -1로 출력합니다.반지름이 다를 경우: 두 원은 동심원이지만 겹치지 않으므로 교점이 없습니다. 이 경우 0을 출력합니다.두 원의 중심이 다를 때:원들이 서로 겹치지 않는 경우:서로 떨어져 있는 경우: 두 원의 중심 사이의 거리 d가 두 원의 반지름 합 r1 + r2보다 크면, 원들은 겹치지 않으므로 교점이 없습니다.한 원이 다른 원의 내부에 있지만 접하지 않는 경우: 두 원의 중심 사이의 거리 d가 큰 원의 반지름에서 작은 원의 반지름을 뺀 값보다 작으면, 교점이 없습니다.원들이 한 점에서 접하는 경우:외접: 두 원의 중심 사이의 거리 d가 두 반지름의 합과 같.. 이전 1 ··· 24 25 26 27 28 29 30 ··· 55 다음