본문 바로가기

알고리즘80

[프로그래머스] 기능 개발 (level.2) java 프로그래머스 기능개발기능개발 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. ​ 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. ​ 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. ​ 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연.. 2019. 3. 25.
[programmers level2] 이상한 나라의 숫자_TDD 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051/*public String solution(int n) { String answer=""; int mok=n/3+1; int nmg=n%3; String num124=""; ArrayList list = new ArrayList(); list.add("1"); list.add("2"); list.add("4"); if(nmg==1){ num124 = list.get(0); }else if(nmg==2){ num124 = list.get(1); }else { mok -= 1; nmg=3; num124 = list.get(2); } for(i.. 2019. 3. 2.
[programmers level2] 다음 가장 큰 수 (java) -TDD를 사용한 풀이 다음 가장 큰 수 - TDD로 풀이해보기첫번째 테스트 코드 작성solution의 반환값을 0으로 설정, 23과 일치하지 않는다.테스트코드 실패123456789public class NextBigNumberTest {​ @Test public void n보다_큰_자연수() {​ NextBigNumber nb = new NextBigNumber(); assertEquals(23, nb.solution(15)); }}Colored by Color Scripter 123456public class NextBigNumber { public int solution(int n) {​ return 0; }}cs 첫번째 테스트 코드 통과시키기123456public class NextBigNumber { public in.. 2019. 2. 10.
[프로그래머스] 이상한 문자 만들기(level 1) 이상한 문자 만들기문제 설명문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.제한 사항문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.입출력 예sreturntry hello worldTrY HeLlO WoRlD입출력 예 설명try hello world는 세 단어 try, hello, world로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 TrY, HeLlO, WoRlD입니다. 따라서 TrY HeLlO WoRlD 를 리턴합니다. pu.. 2018. 12. 17.
[백준+프로그래머스] 1978번 소수 찾기 + 프로그래머스 소수 찾기 소수 찾기는 간단한 것 같으면서도 헷갈리는 그러한 문제다. 원리는 간단하다.주어진 수의 개수를 입력받고, 주어진 수를 1~주어진 수 까지 나누어서소수의 성질인 1과 자기자신만 나눠지는 2가지만 체크해서 결과에 ++해준다. 요즘 들어 프로그래머스의 level1 문제를 다시 풀어보고 있다.한번 푼다고 해서 정확하게 아는것이 아니기 때문이다.일반적인 소수찾기 문제는 어렵지 않게 풀 수 있다. 그런데 제출했더니 시간초과가 발생했다.그래서 에라토스테네스의 체를 써야 하나보다 하고 적용하려했더니 잘 기억이 나지 않았다.다시 풀어보길 잘한 것 같다. 에라토스테네스의 체쉽게 말해서 2를 예로 들면 2는 소수 이지만 2의 배수인 4, 6, 8, 10 ~ 은 소수가 아니다.3은 소수이지만 6, 9, 12, 15는 소수가 .. 2018. 12. 10.
[프로그래머스] 문자열 다루기 기본 (level 1) 문자열 다루기 기본문제 설명문자열 s의 길이가 4혹은 6이고, 숫자로만 구성되있는지 확인해주는 함수, solution을 완성하세요.예를들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.제한 사항s는 길이 1 이상, 길이 8 이하인 문자열입니다.입출력 예sreturna234false1234true public boolean solution(String s){ boolean answer = true; if(s.length() == 4 || s.length()==6) { for (int i = 0; i < s.length(); i++) { if (!Character.isDigit(s.charAt(i))) { answer = false; break; }else { answer .. 2018. 12. 7.