본문 바로가기
반응형

전체 글1036

프로그래머스 점프와 순간 이동(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 점프와 순간 이동 언어 : 자바(Java) 문제를 요약하자면 N숫자를 받아서 그냥 한칸 움직이면 배터리를 1 쓰고 순간 이동을 하면 현재 값에서 *2를 하고 배터리를 쓰지 않는다 내 풀이방법은 아래와 같은데 문제를 역발상으로 해서 풀었는데 채워서 n을 만드는 게 아니라 n에서 나누고 빼가면서 풀었다 먼저 순간이동은 배터리를 소모하지 않고 2배로 이동하니까 N을 2로 나눠서 나눠지면 계속 나누고 나머지값이 나오면 -1을 시킨뒤 배터리에 해당하는 ans 값을 증가시킨다 이후 나눠지면 나누고 안되면 빼고 이런 식으로 0이 될 때까지 진행하면 간단하고 배터리 소모량을 알 수 있다 마지막으로 프로그래머스에 바로 적용 가능한 코드는 아래와 같다 import.. 2019. 9. 23.
프로그래머스 다음 큰 숫자(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 다음 큰 숫자 언어 : 자바(Java) 다음 큰 숫자의 포인트는 숫자를 2진수로 바꾼 뒤에 n보다 크면서 2진수로 변환했을 때 1의 갯수는 동일한 값을 찾아야 한다는 것이다 그리고 n보다 크면서도 다음으로 큰 수를 찾아야 한다 내 풀이방법은 아래와 같은데 먼저 n을 2진수로 변환해서 1의 갯수를 세는데 2진수 변환은 Integer.toBinaryString(값) 으로 가능하고 1의 갯수는 toBinaryString을 사용해서 String 타입으로 바뀐 값을 한글자씩 자른 뒤 .equals("1")로 세주면 된다 이후 n에서 수를 계속 높여가면서 1의 갯수를 계속 세보는데 n과 1의 갯수가 동일하다면 바로 break 시키고 값을 반환한다 마지막으로.. 2019. 9. 23.
프로그래머스 JadenCase 문자열 만들기(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : JadenCase 문자열 만들기 언어 : 자바(Java) JadenCase 문자열 만들기에서 주로 봐야할 점은 아래의 두갠데 1. 첫 문자는 무조건 대문자 나머지는 다 소문자 (띄어쓰기 하면 반복) 2. 띄어쓰기는 한번만 사용되지 않음 내 풀이방법은 아래와 같다 먼저 전체 문자를 소문자로 바꿔준 뒤에 for 문을 돌려서 띄어쓰기가 나오면 무조건 그 다음 글자를 대문자로 나오게 해야 하므로 flag를 0으로 준다 이후 flag가 0이면서 다음 글자가 띄어쓰기가 아니라면 그 글자는 대문자로 만들어서 붙인 뒤 flag를 올려 나머지는 다 소문자로 붙인다 이런 식으로 반복해 주면 끝이 나는데 대부분이 여기서 고전하는 이유가 띄어쓰기가 "AA AAA BB.. 2019. 9. 19.
프로그래머스 최댓값과 최솟값(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 최댓값과 최솟값 언어 : 자바(Java) String 형태의 값을 받아서 숫자들을 분리한 뒤 최솟값, 최댓값을 반환해주면 되는 문제인데 내 풀이방법은 아래와 같다 먼저 받은 String 형태의 값을 " "로 split 시켜서 배열에 모두 담은 다음에 다시 Integer 형태로 바꾼 뒤 모두 list에 담는다 Collections.sort(list)로 오름차순 정렬시킨 후 가장 작은 값은 0이니 0번째와 마지막에 들어있는 값을 넣어 반환해주면 끝이 난다 마지막으로 프로그래머스에 바로 적용 가능한 코드는 아래와 같다 import java.util.ArrayList; import java.util.Collections; class Solution { .. 2019. 9. 19.
프로그래머스 영어 끝말잇기(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 영어 끝말잇기 언어 : 자바(Java) 이 끝말잇기에서 n이 사람 수인 만큼 사람들이 모두 말하면 차례가 1 올라가는 거고 끝말잇기에서 걸리는 조건은 1. 새로 말하는 단어의 첫 글자가 이전 단어의 마지막 글자와 다르거나 2. 이미 말한 단어를 또 말하는 경우 이 두가지만 확인해주면 되는데 여기서 아무도 걸리지 않았다면 0,0 을 반환하면 된다 내 풀이방법은 다음과 같다 일단 for 문을 돌리면서 두번째 차례부터 이전 단어와 지금 단어의 마지막 글자, 첫 글자를 비교해 주고 만약 다르다면 사람과 횟수를 넣어서 바로 break; 시킨다 다음으로 말하려는 단어는 list.contain을 통해 식별 가능한데 여기서 중복된 단어를 말하면 바로 사람과 횟.. 2019. 9. 18.
프로그래머스 위장(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 위장 언어 : 자바(Java) 위장 문제에서 포인트는 옷 종류는 여러개인데 하나씩 입어도 되긴 하는데 하나도 입지 않을 수는 없을 때 공식이 어떻게 되지? 난 수학시간에 취미가 자는거라 이게 굉장히 어렵더라 어쨌든 내 풀이방법은 아래와 같은데 일단 옷 종류에 따른 모든 경우의 수 구하는 공식은(옷 안입는 것 까지) ( 옷 종류별 합계 + 1 ) * ( 옷 종류별 합계 + 1 ) ... 옷 종류에 따라 계속 추가 이렇게 하는데 여기서 아무것도 선택하지 않는 경우는 해당이 안되므로 답에서 -1을 해주면 된다 map을 사용해 옷 이름이 무엇인지는 상관없이 옷 유형만 같으면 기존 값에 +1 해주는 식으로 사용한다 이후 list에 옷 종류별 합계를 차례대.. 2019. 9. 18.

반응형