프로그래머스

    프로그래머스 코딩테스트 연습 Level1 - 소수 만들기 [ Java ]

    코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 에라토스테네스의 체로 주어진 범위안에 소수들을 모두 표시하고 백트레킹을 사용해 모든 조합을 구해서 소수인지를 판단합니다. import java.util.*; class Solution { static boolean[] isPrime = new boolean[3000]; static int[] num = new int[3]; static int[] arr; static boolean[] visited; static int result = 0; ..

    프로그래머스 코딩테스트 연습 Level1 - 예산 [ Java ]

    코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr import java.util.*; class Solution { public int solution(int[] d, int budget) { int count = 0; Arrays.sort(d); for (int bb : d) { if (budget - bb < 0) break; budget -= bb; count++; } return count; } }

    프로그래머스 코딩테스트 연습 Level2 - 방문길이 [ Java ]

    코딩테스트 연습 - 방문 길이 programmers.co.kr 같은 길이라면 왼쪽에서 오른쪽으로 이동하던 오른쪽에서 왼쪽으로 이동하던 중복으로 처리하기 때문에 hashset에 양방향을 기록해두도록 합니다. import java.util.*; class Solution { public int solution(String dirs) { HashSet set = new HashSet(); int[] pos = new int[]{5, 5}; int count = 0; for (int i = 0; i < dirs.length(); i++) { switch (dirs.charAt(i)) { case 'U': if (pos[0] != 0) { if (!set.contains(""+pos[0]+pos[1]+(pos[0..

    프로그래머스 코딩테스트 연습 Level1 - 수박수박수박수박수박수? [ javascript ]

    코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한 조 programmers.co.kr function solution(n) { let answer = ''; for (let i=0; i

    프로그래머스 코딩테스트 연습 Level1 - 서울에서 김서방 찾기 [ javascript ]

    코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제 programmers.co.kr function solution(seoul) { return `김서방은 ${seoul.indexOf('Kim')}에 있다`; }

    프로그래머스 코딩테스트 연습 Level1 - 문자열 다루기 기본 [ javascript ]

    코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이 programmers.co.kr function solution(s) { return /^\d{6}$|^\d{4}$/.test(s) ? true : false ; }

    프로그래머스 코딩테스트 연습 Level1 - 두 개 뽑아서 더하기 [ javascript ]

    프로그래머스 코딩테스트 연습 Level1 - 두 개 뽑아서 더하기 [ javascript ]

    코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 주말에 javascript를 이용한 코딩테스트가 있기 때문에 프로그래머스로 연습하려고 합니다. 두 개씩만 뽑으면 돼서 처음엔 이중 for문을 사용한 방법을 떠올렸지만 시험엔 다른 알고리즘을 사용해야할 상황이 나올 가능성이 높아보여서 연습할 마음으로 일부러 백트레킹을 사용하였습니다. let result = new Array(); let num = new Array(); let visited = new Array();..

    프로그래머스 코딩테스트 연습 Level2 - 더 맵게 [ Java ]

    코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 힙을 이용한 우선순위 큐(PriorityQueue) 라이브러리를 이용하여 풀었습니다. 우선순위 큐의 원리를 몰라서 아래 글을 참고하였습니다. https://hannom.tistory.com/36 [자료구조] 우선순위 큐(Priority Queue) - 1 큐는 연산의 결과로 먼저 들어간 데이터가 먼저 나오나 우선순위 큐는 다르다. 들어간 순서에 상관없이 우선순위가 높은 데이터가 먼저 나온다. 일상 예제로 병원의 응급실을 예로 들어보면 물� han..

    프로그래머스 코딩테스트 연습 Level1 - 문자열 내 마음대로 정렬하기 [ Java ]

    코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1� programmers.co.kr 기준 문자가 같은경우엔 사전 순 정렬이기 때문에 사전순으로 먼저 정렬한 후에 기준 문자에 대해 정렬 하였습니다. import java.util.*; class Solution { public String[] solution(String[] strings, int n) { Arrays.sort(strings); Arrays.sort(strings, new Comparator(){ @Override p..

    프로그래머스 코딩테스트 연습 Level2 - 전화번호 목록 [ Java ]

    코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 다 풀고 찾아보니 startWith라는 메소드를 활용하는 방법도 있었네요! class Solution { public boolean solution(String[] phone_book) { for(int i=0; i