본문 바로가기
반응형

전체 글1036

프로그래머스 정수 제곱근 판별 풀이(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 정수 제곱근 판별 언어 : 자바(Java) 정수 제곱근 판별 문제는 받은 n 숫자가 특정 숫자의 제곱인지 확인하고 제곱일 경우에는 n+1 숫자의 제곱을 구한 뒤 반환하면 되고 특정 숫자의 제곱이 아니라면 -1를 넣어 반환하면 된다 내 풀이방법은 아래와 같은데 먼저 정직하게 for 문을 돌려가며 n 값이 특정 수의 제곱인가를 판별하면 시간제한에 걸려서 망한다 Math.sqrt(값) 을 사용하면 무슨 값을 제곱했을 시 값이 나오게 되는지를 반환하는데 여기에 +1을 해 주고 (long) 타입으로 변환해주면 실제 제곱근이 몇인지 판별이 가능하다 long으로 형변환을 안해주면 판별이 불가능하므로 꼭 해줘야 한다 그래서 제곱근을 구한 뒤 제곱근끼리 한번 곱.. 2019. 9. 5.
프로그래머스 동명 동물 수 찾기 풀이(MySQL) 사이트명 : 프로그래머스(Programmers) 문제명 : 동명 동물 수 찾기 SQL : MySQL ANIMAL_INS 테이블에서 2번 이상 쓰인 NAME과 COUNT를 가져오는데 COUNT는 ANIMAL_INS에 존재하는 컬럼명이 아닌 COUNT(컬럼명)을 해서 갯수를 가져오고 이름을 COUNT(컬럼명) AS COUNT 이렇게 주라는 거다 그리고 이름이 2번 이상 쓰여야 한다고 했으니 조건절에 이걸 추가해줘야 한다 내 풀이방법은 아래와 같은데 먼저 ANIMAL_INS 테이블에서 NAME과 NAME을 COUNT 한 갯수를 구한뒤 COUNT로 명명한다 COUNT를 사용하기 위해서 GROUP BY NAME을 해 줘야 한다 이후 이 쿼리 내용을 괄호로 감싸야 하는데 WHERE 절에 COUNT(NAME)을 바로.. 2019. 9. 5.
프로그래머스 고양이와 개는 몇 마리 있을까 풀이(MySQL) 사이트명 : 프로그래머스(Programmers) 문제명 : 고양이와 개는 몇 마리 있을까 SQL : MySQL ANIMAL_INS 테이블에서 ANIMAL_TYPE 컬럼과 Cat, Dog 갯수를 count 컬럼으로 해서 가져와야 하는데 문제는 어떻게 가져오느냐 하는 것이다 내 풀이방법은 아래와 같은데 COUNT(컬럼)을 이용해 갯수를 구해오고 AS를 넣어 컬럼명을 COUNT로 정해준다 COUNT는 GROUP BY가 있어야 사용 가능한데 GROUP BY란? 컬럼 값이 같은 것 끼리 하나로 묶어준다는 거다 ANIMAL_TYPE으로 묶어놓으니 Cat과 Dog이 몇마린지 정리된 것이 보인다 마지막으로 프로그래머스에서 바로 사용 가능한 답안 코드는 아래와 같다 SELECT ANIMAL_TYPE, COUNT(ANIM.. 2019. 9. 5.
프로그래머스 정수 내림차순으로 배치하기 풀이(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 정수 내림차순으로 배치하기 언어 : 자바(Java) n값을 받은 뒤 이걸 숫자 크기에 따라 정렬해서 반환하라는 문제인데 숫자를 하나씩 다 쪼갠 뒤에 큰 수 순서대로 깔아서 반환해줘야 한다 내가 푼 방법은 아래와 같은데 먼저 for 문을 돌리면서 n값을 String으로 변환한 뒤 1글자씩 자른 뒤 그걸 다시 int로 변환해서 list에 넣어준다 이후 Collections.sort를 사용해 역순으로 정렬해주면 큰 값이 list의 앞에 들어오고 작은 값이 끝에 들어오게 되는데 여기서 for문을 한번 더 돌려서 list 값을 다시 String 하나에 합쳐준다 역정렬을 통해 큰 수가 앞으로 가게 될 것이다 이후 String을 다시 Long 타입으로 변환한.. 2019. 9. 4.
프로그래머스 자연수 뒤집어 배열로 만들기 풀이(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 자연수 뒤집어 배열로 만들기 언어 : 자바(Java) 자연수를 뒤집은 뒤 배열에 차례대로 넣은 후 반환하라는 문제인데 포인트는 배열에 값을 거꾸로 넣는 것은 쉽지만 문제는 n 값을 어떻게 한글자씩 자르느냐는 것이다 내 풀이방법은 아래와 같은데 먼저 n값을 String.valueOf를 통해 String 형태로 바꾼 뒤 String의 length를 구해 배열의 크기를 알아내고 이후 for 문을 돌려가면서 String을 한글자씩 자른 후 Integer.parseInt로 int로 변환한 뒤 배열 역순으로 삽입해 준 뒤 반환하면 해결 가능하다 프로그래머스에 바로 적용 가능한 답안 코드는 아래와 같다 class Solution { public int[] s.. 2019. 9. 4.
프로그래머스 자릿수 더하기 풀이(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 자릿수 더하기 언어 : 자바(Java) int 타입의 값을 받아서 각 자리수의 값을 합한 후 반환해야 하는 문제인데 문제는 int 타입을 자릿수별로 어떻게 쪼개냐는 것이다 내 풀이방법은 아래와 같은데 일단 받은 int 타입의 값을 String.valueOf(int값); 을 통해 String으로 만든 뒤 이 값들을 subString으로 한글자씩 자른 뒤 Integer.parseInt로 다시 int로 바꿔 더한 후 반환한다 마지막으로 프로그래머스에 바로 적용 가능한 답안은 아래와 같다 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; Stri.. 2019. 9. 4.

반응형