본문 바로가기
반응형

전체 글1036

프로그래머스 전화번호 목록(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 전화번호 목록 언어 : 자바(Java) 약간 문제 테스트 케이스가 잘못된 것 같은데 이게 phone_book의 첫 값을 가지고 다른 값들의 접두사(1199는 119의 접두사, 2233은 99의 접두사가 아님..)로 쓰이는지 확인하는 게 아니라 최소값을 가지고 접두사로 쓰이는지 확인하는 것 같다 Sort를 넣냐 안넣느냐에 따라서 무조건 갈리는 걸 보면 내 생각에는 아무래도 문제 설명이 잘못된 것으로.. 어쨌든 보면 phone_book의 최소값이 다른 배열 값의 접두사로 사용되는지 확인해서 사용되면 false 사용 안되면 true를 반환하면 되는데 내 풀이방법은 아래와 같다 일단 최소값을 가지고 접두사를 판단하므로 Array.sort를 해 주면 최소.. 2019. 9. 17.
프로그래머스 숫자의 표현(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 숫자의 표현 언어 : 자바(Java) 문제만 보면 뭔가 어려워 보이는데 설명을 어렵게 보이게 해놔서 어려운거지 실상은 간단하다 1부터 n까지 다 더해봐서 n을 만들 수 있는 경우가 몇개나 되냐는 것이다 1+2+3+4+5 이런 식으로 15를 만들 수 있는데 다음에는 2부터 시작해서 15가 되나.. 이런 식으로 15까지 반복해주면 된다 내 풀이방법은 아래와 같은데 while문은 1부터 n까지 돌려주고 while 안에 for문은 while 증감값(j) 부터 시작해서 n까지 돌려주는데 이렇게 1+2+3+4+5... 식으로 더해서 n이 나오면 answer 갯수를 올려주고 n보다 커져버리면 break 시켜서 while을 반복한다 이렇게 돌리고 돌려서 whi.. 2019. 9. 17.
프로그래머스 최솟값 만들기(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 최솟값 만들기 언어 : 자바(Java) 두 배열을 가지고 A배열의 값, B배열의 값을 곱했을 때 최소값이 나오는 경우를 구해야 하는데 1*5, 4*2, 4*4 이런식으로 한번씩만 곱할 수 있다 근데 문제를 슥 보면 결국 최솟값을 구하는 방법은 A배열 최대값 * B배열 최솟값 이런 식으로 곱한 뒤 더해주면 된다는 사실을 알 수 있는데 내 풀이방법은 아래와 같다 일단 A배열과 B배열을 정렬한 뒤 A배열은 0부터 진행해 최대값 B배열은 끝부터 진행해 최솟값을 가져와서 곱해준 뒤 이 값들을 더해서 반환하면 된다 프로그래머스에 바로 적용 가능한 코드는 아래와 같다 import java.util.Arrays; class Solution { public in.. 2019. 9. 17.
프로그래머스 올바른 괄호(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 올바른 괄호 언어 : 자바(Java) 괄호가 제대로 열리고 닫혔는지를 체크해서 제대로 열리고 닫혔으면 true, 아니면 false를 반환하는 문제인데 그냥 괄호 갯수가 맞으면 되는게 아니라 )( 처럼 괄호가 제대로 닫혔는지 확인을 해야 한다 내 풀이방법은 아래와 같은데 먼저 괄호들을 String 타입의 s로 받은 뒤 한글자식 잘라봐서 counter에 넣는데 "("면 counter에 +1 해주고 ")"면 counter에 -1 해주는데 여기서 else를 사용한게 어차피 "(" or ")" 만 들어오기 때문에 else if를 사용할 이유가 없다 그래서 괄호가 정상적으로 잘 닫혀서 0이라면 true를 반환 제대로 안닫혀서 0이 아니라면 false를 반환.. 2019. 9. 17.
프로그래머스 핸드폰 번호 가리기(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 핸드폰 번호 가리기 언어 : 자바(Java) String 타입의 핸드폰 번호를 받으면 뒤의 4글자만 제외하고 전부 *로 바꾸어주면 되는데 내 풀이방법은 아래와 같다 먼저 핸드폰 번호의 length에서 -4를 한 값을 num에 넣어둔 후 for 문을 돌려서 num보다 작을 경우에는 다 *로 넣고 num보다 큰 경우에는 숫자를 넣어줘서 마지막 4자리만 숫자로 가져올 수 있다 2019. 9. 16.
프로그래머스 하샤드 수(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 하샤드 수 언어 : 자바(Java) 하샤드 수를 간단히 설명하면 다음과 같은데 특정 숫자를 받아서 자리수별로 다 쪼갠 후에 합친다 그 다음에 받은 특정 숫자를 쪼개서 합친 수로 나눌 수 있으면 하샤드 수다 예를 들어보자면 10을 쪼개면 1, 0인데 합치면 1이다 10을 1로 나눌 수 있으니 이것은 하샤드 수! true를 반환하면 되고 만약 나누어지지 않을 경우에는 false를 반환하면 된다 내 풀이방법은 아래와 같은데 우선 받은 int값을 String으로 만든 후에 한글자씩 잘라내서 divisionSum에 합쳐서 넣어준다 이후 받은 int 값이 divisionSum 으로 나누어 떨어지면 하샤드 수이므로 true를 반환하고 그렇지 않을 경우에는 f.. 2019. 9. 16.

반응형