본문 바로가기
반응형

java35

[Java][프로그래머스][Level 1] 정수 내림차순으로 배치하기 문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. 생각 각 자리수를 내림차순으로 배치하려면 split이 필요하다. 하지만 숫자를 split() 함수를 쓸 수는 없으므로, String형으로 먼저 바꿔줘야한다! 어디선가 꿀팁을 배웠는데, 만약 int n = 3이 있으면 String n_toString = "" + n 으로 하면 순식간에 String형으로 바뀐다!! String으로 바꾼 후, 각 자릿수를 분리하고 정렬을 해준다. 후에 for문으로 10의 거듭제곱형태로 곱해가며 원래 수를 만들며.. 2019. 4. 11.
[Java][프로그래머스][Level 1] 자연수 뒤집어 배열로 만들기 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 생각 전에 풀었던 자릿수 더하기와 비슷한 문제이다. 먼저 n을 10으로 나눈 나머지를 구해 첫 배열값에 넣어주고 n = n/10을 하여 자릿수를 하나 줄여준다. 위 과정을 n이 0이 될 때까지 반복하면 끝날 것이다. 하지만 여기서 한 가지 더 생각해줘야 하는 것이 있다. 그것은 제한 조건!! n의 범위가 10,000,000,000 (백 억) 이다. 백 억은 int형의 범위를 가뿐하게 넘을 것이다. 이 기회에 byte, short, int, long의 범위를 살펴보자! byte -128 ~ 12.. 2019. 4. 9.
[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.
반응형