본문 바로가기
반응형

전체 글1036

프로그래머스 약수의 합 풀이(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 약수의 합 언어 : 자바(Java) 약수란 무엇인가? 12를 1로 나눠서 나머지 값이 0이지 않은가 그럼 약수다 약수란 나눴을 때 나머지 값이 나오지 않는 수를 말한다! 12를 주면 1부터 12까지 돌려보면서 나눴을 때 나머지 값이 나오지 않는 수들을 모두 합쳐서 반환하라는 얘기다 내 풀이방법은 아래와 같은데 for문을 한번 돌려주면서 1부터 6까지 돌리는데 주어진 값을 1부터 6까지 나눠보면서 나머지 값이 없을 경우 그걸 더해준 후 반환하면 된다 프로그래머스에 바로 적용 가능한 코드는 아래와 같다 int answer = 0; for(int i = 1; i 2019. 9. 4.
프로그래머스 이상한 문자 만들기 풀이(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 이상한 문자 만들기 언어 : 자바(Java) String 타입의 문자열을 받는데 홀수 인덱스는 대문자, 짝수 인덱스는 소문자로 만들어야 하고 띄어쓰기를 할 경우 다음 문자는 무조건 대문자로 시작하게 만들어서 문자열을 반환하라는 얘긴데 여기서 틀리는 사람들의 대부분은 대문자를 만들 생각만 했지 대문자를 소문자로 만드는 것은 깜빡해서 틀리는 사람들이 많은데 대문자를 소문자로 바꾸는 것도 넣어서 풀어야 한다 내 풀이 방법은 아래와 같다 일단 반복문을 돌리는데 글자를 substring으로 한글자씩 자른다 이후 자른 글자가 스페이스(" ") 라면 그대로 공백을 붙여주고 다음 숫자는 무조건 대문자가 나오게 spaceCheck값을 0으로 바꿔준다 0이 왜 대.. 2019. 9. 4.
프로그래머스 이름이 없는 동물의 아이디 풀이(MySQL) 사이트명 : 프로그래머스(Programmers) 문제명 : 이름이 없는 동물의 아이디 SQL : MySQL 역시나 문제가 좀 이상한데 NAME이 NULL인 값만 조회하면 2행이 조회된다고 하는데 현실은 한 행만 조회된다 아마 테이블을 뭔가 잘못 설정하거나 답을 잘못 쓴 것 같은데.. 어쨌든 답을 구해보자면 NAME이 NULL이면서 ANIMAL_ID를 기준으로 오름차순 정렬을 시켜줘야 한다 내 풀이방법은 다음과 같다 NULL인 값만 가져오는 건 NAME = 'NULL' 이 아니라 NAME IS NULL 을 사용하는데 테이블 안에 NAME 컬럼에 NULL이 들어있다는 것이 아니라 텅텅 비어서 NULL이라고 뜬다는 것이다 그래서 IS NULL로 체크 가능하다 만약 NULL이 아니라면? IS NOT NULL로 .. 2019. 9. 4.
프로그래머스 최솟값 구하기 풀이(MySQL) 사이트명 : 프로그래머스(Programmers) 문제명 : 최솟값 구하기 SQL : MySQL 최솟값 구하기 문제는 ANIMAL_INS 테이블에서 DATETIME 컬럼 하나를 가져오는데 여기서 문제는 DATETIME이 가장 작은 값만 하나 가져와야 한다 여기에 조회시 보이는 컬럼명이 DATETIME이 아닌 시간이므로 조회 시 컬럼명에 DATETIME을 '시간' 으로 바꾸어 조회해야 한다 내 풀이방법은 아래와 같은데 MIN() 을 이용해서 DATETIME이 가장 작은 값을 가져오고 AS 시간을 붙여주면 DATETIME 컬럼의 이름이 시간으로 바뀌어 조회되게 된다 2019. 9. 4.
프로그래머스 탑 풀이(Java) 사이트명 : 프로그래머스(Programmers) 문제명 : 탑 언어 : 자바(Java) 이번 문제도 역시 설명이 문제보다 더 어려운데 heights 배열을 주는데 배열 끝부터 배열 0 순서대로 진행한다 근데 배열에 현재 값보다 더 큰 값이 있으면 그 배열의 인덱스를 answer 배열에 넣어서 return 하면 된다는 얘기!! 예제로 예를 들면 배열에 6,9,5,7,4가 넣어져 들어오는데 4 다음으로 나오는 7이 4보다 큰데 그럼 [0,0,0,0,4]가 된다 그 다음 값인 7은 9가 더 높은 값이므로 [0,0,0,2,4] ... 이런 식으로 진행한다 내 풀이방법은 아래와 같은데 일단 탑 배열을 +1칸 해서 넣어줬는데 이거는 내가 배열 -1 하면서 비교하는게 어려워서 일부러 한칸 더 크게 배열을 만든 뒤 배.. 2019. 9. 3.
프로그래머스 스킬트리 풀이 사이트명 : 프로그래머스(Programmers) 문제명 : 스킬트리 언어 : 자바(Java) 위의 내용은 쉬운 말을 어렵게 써 놨는데 우선 skill_trees를 쭉 받은 뒤 skill과 비교해봐야 하는데 C B D의 순서만 지키면 중간에 어떤 값이 들어와도 상관이 없고 C B D가 꼭 다 들어가지 않아도 된다 그러나 순서가 맞지 않는 경우에는 체크하면 안된다 요약해보니 간단한데 내 풀이방법은 아래와 같다 먼저 리스트 안에 skill 값을 잘라서 넣어주는데 skill.substring(i, i+1); 로 한글자식 잘라서 편하게 넣어줄 수 있다 다음에는 for문을 두번 돌려주는데 배열 skill_trees의 길이만큼 그리고 그 안에서 skill_trees[i]의 길이만큼(배열 인덱스 값당 길이) 돌리게 되.. 2019. 9. 3.

반응형