프로그래머스
프로그래머스 코딩테스트 연습 Level2 - 소수찾기 [ Java ]
코딩테스트 연습 - 소수 찾기 | 프로그래머스 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. 013은 0, 1, 3 숫자가 적힌 종이 programmers.co.kr 소수를 찾는 과정은 메소드로 정리해주고 백트래킹을 이용해 가능한 경우의 수를 구해주었습니다.
프로그래머스 코딩테스트 연습 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...
프로그래머스 코딩테스트 연습 Level2 - 멀쩡한 사각형 [ Java ]
코딩테스트 연습 - 멀쩡한 사각형 | 프로그래머스 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상 programmers.co.kr
프로그래머스 코딩테스트 연습 Level2 - 기능개발 [ Java ]
코딩테스트 연습 - 기능개발 | 프로그래머스 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 programmers.co.kr 코드를 줄이고 싶어서 많은 시간을 썼지만 줄이지 못했습니다. 요소의 개수가 불분명 하므로 Arraylist를 사용해 각 작업마다 걸리는 기간을 삽입해주었습니다. 기준기간을 지나야..
프로그래머스 코딩테스트 연습 - 탑 [ Java ]
코딩테스트 연습 - 탑 | 프로그래머스 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7 programmers.co.kr 스택 파트의 문제지만 스택을 사용하지 않고도 풀 수 있는 문제였습니다.