코딩테스트 연습

코딩테스트 연습

    프로그래머스 코딩테스트 연습 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

    프로그래머스 코딩테스트 연습 Level1 - 두 정수 사이의 합 [ Java ]

    코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 등차수열의 합 공식을 이용하였습니다. class Solution { public long solution(int a, int b) { return (long)(Math.abs(b-a)+1)*(a+b)/2; } }

    프로그래머스 코딩테스트 연습 SQL SUM,MAX,MIN

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 연습 SQL 고득점 Kit SUM,MAX,MIN 1. 최댓값 구하기 SELECT MAX(DATETIME) FROM ANIMAL_INS 2. 최솟값 구하기 SELECT MIN(DATETIME) FROM ANIMAL_INS 3. 동물 수 구하기 SELECT count(ANIMAL_ID) FROM ANIMAL_INS 4. 중복 제거하기 SELECT COUNT(DISTINCT NAME) FROM ANIMAL_INS

    프로그래머스 코딩테스트 연습 SQL SELECT

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 연습에 SQL 고득점 Kit에 SELECT 파트의 문제들 입니다. 모든 레코드 조회하기 SELECT ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID; 역순 정렬하기 SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DESC; 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM ..

    프로그래머스 코딩테스트 연습 Level2 - 타겟 넘버 [ Java ]

    코딩테스트 연습 - 타겟 넘버 | 프로그래머스 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘 programmers.co.kr

    프로그래머스 코딩테스트 연습 Level2 - 모의고사 [ Java ]

    코딩테스트 연습 - 모의고사 | 프로그래머스 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, programmers.co.kr 요소가 가변적인데 배열로 return 해야한다는게 까다로웠던 문제입니다. String으로 저장한 후 스트림을 이용해 변환 해주는 방법을 이용했습니다.

    프로그래머스 코딩테스트 연습 Level2 - 프린터 [ Java ]

    코딩테스트 연습 - 프린터 | 프로그래머스 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 programmers.co.kr 문제에서 말하는대로 코드를 작성하였고 ArrayList를 큐로 사용했습니다.

    프로그래머스 코딩테스트 연습 Level2 - 스킬트리 [ Java ]

    코딩테스트 연습 - 스킬트리 | 프로그래머스 programmers.co.kr 시도는 스킬의 문자를 찾아낼 때마다 저장을 하고 이후에 다음문자를 찾아 냈을 경우 이전에 찾은 문자보다 앞에 있는 문자면 걸러내고 찾아 내기만 했다면 체크하는 방식으로 했습니다. -> 스킬에 해당하는 문자가 모두 없을 경우 세어지지 않고, 스킬의 첫번째 문자만 나오지 않고 이후 문자들이 나오는 경우도 처리가 되지 않았습니다. 스킬에 해당하는 문자를 제외한 문자를 제거 -> 걸러내기 위한 변환과정이 너무 길고 까다로웠습니다. 결국 다른분들의 코드를 보고 풀어내서 코드를 분석하였습니다. String 배열을 ArrayList를 바꾸는 과정은 동일했습니다. ArrayList skillTrees = new ArrayList(Arrays...