본문 바로가기
반응형

코딩33

[Java][프로그래머스][Level 1] 자릿수 더하기 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 생각 % 연산자와 / 연산자를 사용하면 금방 풀 수 있는 문제이다. N = 123일 경우를 생각해보자. 각각의 자릿수를 분리해야 하므로 123 % 10을 해주면 3이 나온다. 이 3을 answer에 더해놓고 N = 123을 10으로 나누면 일의 자리 수가 없어져 12가 된다. 이런 식으로 하여 N이 0이 될 때 까지 % /연산자를 써주고 나온 한자리 수를 더해주면 완성 될 것이다. 이런 % / 을 사용해서 푸는 문제는 회문수 구하기, 지폐 별 금액.. 2019. 4. 7.
[Java][프로그래머스][Level 1] 이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백 문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야 합니다. 생각 글을 쓰면서 내가 처음에 푼 풀이를 봤는데.. 다시 봐도 이해가 되지 않는 코드였다. 그래서 처음부터 다시 풀기로 하였다. 처음엔 문제가 잘 이해가 안갔다. 예시를 보면서 이해하도록 하자. hello my friend의 예시를 들자. 문자의 전체 인덱스가 아니라 공백 별로 인덱스를 판단해야 한다!! 이 부분을 잘 생각하면 hello, my, fri.. 2019. 4. 6.
[Java][프로그래머스][Level 1] 약수의 합 문제 설명 자연수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 자연수입니다. 생각 간단하게만 생각하면 너무 간단한 문제이다. for문을 사용하여 자연수 n을 n보다 작은 자연수로 나눠 나누어 떨어지면 answer에 더해주면 되기 때문이다. 하지만 그럼에도 내가 글을 작성한 이유는 거기서 한번 더 생각을 해보자고 생각했기 때문이다. 36의 약수를 생각해보자. 1 2 3 4 6 9 12 28 36 이다. 6을 기준으로 대칭을 이루는 수들을 곱해주면 36이 나온다! 이를 이용해서 문제를 풀기로 하였다. n-1까지의 자연수로 나누는 것이 아닌 n의 제곱근까지 나누는 것이다. 그러고 나온 수들을 대칭을 이용해서 문제를 풀기로 하.. 2019. 4. 5.
[Java][프로그래머스][Level 1] 수박수박수박수박수박수? 문제 설명 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 생각 단순한 문제같다. String에서도 + 연산자가 사용 가능한 것을 이용하여 문제 풀이 방법을 생각하였다. 처음에 answer을 빈 String으로 만들어주고 1부터 n까지 for문을 써서 홀수일때는 수를 더하고 짝수일때는 짝을 더하는 방법을 사용했다. 예를 들어 n을 7이라고 하면 1,3,5,7에서는 수를 더해주고 2,4,6에서는 짝을 더해줘서 수박수박수박수가 나올 것이다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1.. 2019. 4. 3.
반응형