프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해당 문제를 풀이하는데 핵심은 집계함수를 사용할줄 아느냐(COUNT), 집계함수에 조건을 추가할 수 있는가(HAVING) 이다. SELECT NAME, COUNT(*) AS COUNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME HAVING COUNT >= 2 ORDER BY NAME 이 문제에서 질문의 수가 많아 한번 확인해보았는데, 생각보다 WHERE 절과 HAVING 절의 차이를 모르는 사람들이 많은듯하였다. WHERE 절: 조건이 개별 행 값에 적용되어..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해당 문제는 집계함수 COUNT 를 사용할 수 있다면 간단하게 풀이할 수 있다. SELECT ANIMAL_TYPE, COUNT(*) AS count FROM ANIMAL_INS WHERE ANIMAL_TYPE = "Cat" OR ANIMAL_TYPE = "Dog" GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이는 간단하다. 가장 큰 값과 두번째로 큰 값 끼리의 곱과, 가장 작은 값과 두번째로 작은값 끼리의 곱 중 더 큰 값을 반환하면 된다. class Solution { fun solution(numbers: IntArray): Int { var max1 = Int.MIN_VALUE var max2 = Int.MIN_VALUE var min1 = Int.MAX_VALUE var min2 = Int.MAX_VALUE for (number in numbers) { if (number >= max1) { max..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제, 가볍게 생각했다가 생각보다 생각해야할 것이 조금 있었다. 내가 생각한 문제 풀이의 핵심은 x계수 와 숫자를 어떻게 합산할 것인가 이다. x의 계수는 두자리 이상이 될 수 있음을 주의해야한다.(이것 때문에 시간을 한참 사용했다..) 반환하는 문자열의 조건에 주의한다.(계수가 1이거나, 0 인 경우 어떻게 처리할 것인가) 나같은 경우, x의 계수가 두자리 이상이 올 수 있음을 미처 생각하지 못해 다른 풀이를 참고했다. 그리고 반환하는 문자열의 경우, 계수가 0일 경우, 1일경우, 숫자가 0일경우를 잘 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 생각한 이 문제의 핵심은 연속된 수는 하나의 숫자로 간주한다는 것이다. 그리고 문자열 내의 char 를 Int 로 변환한다면 아스키코드로 변환이 된다는 것을 주의해야한다.(나는 이것을 몰랐다..) 문자열의 요소를 하나씩 꺼내어 해당 문자가 숫자인지 확인(isDisit())한다. 문자열이 숫자라면, currentNumber 에 10을 곱해 자리수를 옮기고, 해당 문자를숫자로 변환하여 더한다. 문자열이 숫자가 아닌경우, currentNumber 을 answer에 더한 뒤, currentNumber 을 초기화..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나는 이 문제를 보고, 왜인지 모르게 완전탐색을 생각했다.(dfs, bfs) 폭탄인 부분의 주위를 안전하지 않은 상태(2)로 만들고 다음 0의 개수를 확인하고자 했다. 그런데 이는 너무 과하다는 생각이 들었다. 그리고 무엇보다 내가 풀이에 잘못 접근했었다.. 지피티의 도움을 받아 해당 문제는 다음과 같이 풀이하였다. 폭탄이 있는 지역(1)이면 다음 칸으로 넘어가고, 폭탄이 아닌 칸(0)이라면, 현 위치를 기준으로 9방면을 확인했다. 범위를 벗어나거나, 주변의 값이 폭탄이 있는지역(1)이라면, 해당 지역을 안전..