본문 바로가기

알고리즘/프로그래머스46

[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.
[프로그래머스] K번째 수 (level 1) K번째수문제 설명배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.2에서 나온 배열의 3번째 숫자는 5입니다.배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.제한사항array의 길이는 1 이상 100 이하입니다.array의.. 2018. 12. 7.