전체 글 (435) 썸네일형 리스트형 [프로그래머스] 숫자 변환하기 코드 힌트목표:주어진 숫자 x에서 시작해 목표 숫자 y에 도달하는 최소 연산 횟수를 구합니다.사용 가능한 연산은 n을 더하기, 2를 곱하기, 3을 곱하기입니다.BFS (너비 우선 탐색):BFS를 사용해 최단 경로를 찾습니다.BFS는 주어진 상태에서 가능한 모든 다음 상태를 큐에 추가하고, 하나씩 처리하면서 목표 상태에 도달하는지를 확인합니다.방문 체크:아마 대부분의 사람들이 시간초과의 이유로 찾으셨을거라고 생각합니다.이미 방문한 숫자는 최소 횟수가 아니므로 visit 배열을 사용하여 이미 방문한 숫자는 다시 방문하지 않도록 visited 배열을 사용합니다. 종료 조건:목표 숫자 y에 도달하면 그때까지의 연산 횟수를 반환합니다.큐가 비었음에도 목표에 도달하지 못했다면 -1을 반환해 불가능함을 나타냅니다. .. [백준] 이항 계수 1 (11050번) 코드 힌트입력 처리:두 개의 숫자 n과 m이 입력으로 주어집니다. 이 숫자들은 nCm 조합을 계산하기 위해 사용됩니다.nCm은 n개의 요소 중 m개의 요소를 선택하는 조합의 수를 의미합니다.조합 계산:조합을 계산하기 위해 두 가지 반복문을 사용합니다.첫 번째 반복문은 n부터 n-m+1까지 곱해 n! / (n-m)!를 계산합니다.두 번째 반복문은 m!을 계산해 첫 번째 계산 결과를 나누어 최종 조합 값을 구합니다.출력 처리:최종적으로 계산된 조합 값을 출력합니다.BufferedWriter를 사용해 출력을 버퍼링하고, 모든 출력을 한 번에 처리합니다. 정답은 더보기 클릭더보기import java.io.*;public class Main { public static void main(String[] ar.. [프로그래머스] 성격 유형 검사하기 코드 힌트성격 유형 초기화:성격 유형을 두 개씩 묶어 저장하는 배열을 초기화합니다. 예를 들어, {'R', 'T'}는 한 쌍의 성격 유형을 의미합니다.각 성격 유형의 점수를 저장하기 위해 해시맵을 초기화합니다. 이때 초기값으로 모든 성격 유형의 점수를 0으로 설정합니다.점수 계산:survey 배열과 choices 배열을 순차적으로 탐색합니다.각 설문 항목에서 첫 번째 성격 유형과 두 번째 성격 유형을 추출합니다.choices 값에 따라 점수를 분배합니다. 만약 선택한 값이 4보다 크면 두 번째 성격 유형에 점수를 더하고, 4보다 작으면 첫 번째 성격 유형에 점수를 더합니다.결과 조합:각 성격 유형 쌍에서 점수가 높은 성격 유형을 선택해 결과 문자열에 추가합니다.동일한 점수일 경우 배열에서 앞에 있는 성격.. [프로그래머스] 바탕화면 정리 코드 힌트초기화:result 배열은 최종적으로 반환될 값으로, 좌상단과 우하단 좌표를 담고 있습니다.배열의 처음 두 값(최소 Y, 최소 X)은 각각 Integer.MAX_VALUE로 초기화하여, 최소값을 찾는 데 방해되지 않도록 합니다.나머지 두 값(최대 Y, 최대 X)은 Integer.MIN_VALUE로 초기화하여, 최대값을 찾는 데 방해되지 않도록 합니다.2차원 탐색:wallpaper 배열은 각 문자열을 행으로 구성된 2차원 공간을 나타냅니다. 각 문자(열)를 행별로 탐색합니다.# 문자를 찾을 때마다, 해당 좌표를 기준으로 result 배열의 값을 갱신합니다.좌표 갱신:#을 찾은 경우, result[0](최소 Y)와 result[1](최소 X)는 최소값을 갱신하여 좌상단의 좌표를 설정합니다.resul.. [백준] 분해합 (2231번) 코드 힌트분해합의 개념:분해합이란 어떤 숫자 i와 그 숫자의 각 자릿수를 모두 더한 값을 의미합니다.예를 들어, 숫자 198의 분해합은 198 + 1 + 9 + 8 = 216입니다.생성자 찾기:주어진 n의 분해합을 만들어낼 수 있는 가장 작은 숫자 i를 찾는 것이 목표입니다.i를 1부터 n-1까지 검사하여, 분해합이 n과 일치하면 해당 숫자를 반환합니다.자릿수 합 계산:각 숫자 i의 자릿수 합을 계산하기 위해, 숫자를 10으로 나누어가며 각 자릿수를 더합니다.이렇게 계산한 자릿수 합과 i를 더해 n과 비교합니다.결과 반환:만약 n의 분해합을 만들어낼 수 있는 숫자 i가 없다면 0을 반환합니다. 정답은 더보기 클릭더보기import java.io.*;public class Main { public s.. [Python] 함수 함수란?함수(Function)는 코드의 재사용성과 가독성을 높이기 위해 사용되는 코드의 집합입니다. 특정 작업을 수행하는 코드 블록을 하나의 이름으로 묶어두고, 필요할 때마다 호출하여 사용할 수 있습니다. 함수를 사용하면 동일한 작업을 반복적으로 수행할 때 코드의 중복을 줄이고, 유지보수가 용이해집니다.함수 선언함수를 선언하는 방법은 다음과 같습니다:def 함수명(매개변수): 로직... return 반환값 def 키워드를 사용하여 함수를 정의합니다.함수명은 함수를 호출할 때 사용할 이름입니다.매개변수는 함수에 입력으로 전달될 값들을 받는 변수입니다.로직은 함수가 수행할 작업을 정의합니다.return 문을 사용하여 함수의 결과를 반환합니다. 반환값이 없을 경우 return 문을 생략하거나, re.. [Python] 반복문 반복문이란?반복문은 동일한 동작을 여러 번 반복해서 수행할 때 사용하는 명령어입니다. 반복문을 사용하면 특정 작업을 여러 번 수행할 수 있으며, 코드의 가독성을 높이고 작성하는 시간을 절약할 수 있습니다.예시: "hi"를 10번 출력하기반복문을 사용하지 않은 경우:print('hi')print('hi')print('hi')print('hi')print('hi')print('hi')print('hi')print('hi')print('hi')print('hi') 반복문을 사용한 경우:for i in range(10): print('hi') 위의 예시에서 print('hi')를 10번 작성하는 대신, for 반복문을 사용하여 같은 결과를 훨씬 간결하게 표현할 수 있습니다. 만약 100번, 1000번 같은.. [프로그래머스] 개인정보 수집 유효기간 코드 힌트약관 유효기간 매핑:주어진 약관 종류와 그에 따른 유효기간을 매핑하여, 각 약관이 몇 개월 동안 유효한지 저장합니다.이 매핑은 나중에 개인정보의 유효기간을 계산할 때 사용됩니다.유효기간 계산 및 만료 확인:각 개인정보의 수집일자와 약관 종류를 바탕으로, 해당 개인정보가 오늘 날짜를 기준으로 만료되었는지를 확인합니다.만약 유효기간이 지나면 만료된 것으로 간주하고 결과 리스트에 해당 개인정보의 인덱스를 저장합니다.개인정보를 저장할 수 있는 달의 정수의 범위는 1~100입니다. month, year를 잘 관리하셔야합니다.결과 배열 생성:만료된 개인정보의 인덱스를 저장한 리스트를 배열로 변환하여 최종 결과로 반환합니다. 정답은 더보기 클릭더보기import java.util.*;class Solutio.. 이전 1 ··· 20 21 22 23 24 25 26 ··· 55 다음