본문 바로가기

알고리즘/프로그래머스

(4)
[문제] 프로그래머스 레벨 3: 단어 변환 programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 내 풀이 1. BFS import java.util.LinkedList; import java.util.Queue; public class PG_43163 { public static int solution(String begin, String target, String[] words) { // 1. target이 words 배열안에..
[문제] 프로그래머스 레벨1: 모의고사 programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 풀이 import java.util.ArrayList; import java.util.Iterator; class Solution { public int[] solution(int[] answers) { ArrayListlist = new ArrayList(); int[] s1 = {1,2,3,4,5}; //5 int[] s2 = {2,1,2,3,2,4,2,5};//8 int..
[문제] 프로그래머스 레벨 1: 가운데 글자 가져오기 programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 내 풀이 class Solution { public String solution(String s) { String answer = ""; int len = s.length(); if(len%2 == 1){ answer = String.valueOf(s.charAt(len/2)); }else { answer += String.valueOf..
[문제] 프로그래머스 레벨 1: 두 개 뽑아서 더하기 programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 풀이 입력받는 숫자들 중 2개를 뽑아서 set에 저장하면 된다. 이때 나는 재귀를 이용한 조합 함수를 만들었는데, 어차피 2개의 수니까 그럴 필요 없이 for문으로 풀어도 된다. 1. 조합 (재귀 이용) import java.util.Arrays; import java.util.HashSet; import java.util.It..