본문 바로가기

Algorithm48

[Programmers/Lv4] 없어진 기록 - MySQL 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 없어진 기록 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 풀이 보호소에 들어온 기억은 없어야 하므로 animal_ins 에 animal_id 가 null 인 것을 조건으로 하고, join 을 사용하여 차집합을 구한다... 2021. 6. 16.
[프로그래머스(programmers)] (Lv2) 피보나치 수 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 피보나치 수 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12945 문제 풀이 BigInteger 를 사용하는것이 핵심이다. 피보나치 수 를 구현하는 것은 문제 설명대로 풀면 되는거라 중간에 걸릴 것 없이 너무 쉽게 풀었다. 그래서 이게 Lv2라는 것이 의심될 정도로 금방 풀었는데, 테스트케이스 중간쯤 부터 오류가 났다. 왜 오류일까 생각해보니 int 의 한계란 생각이 들었다. 그래서 long 으로 다 변환을 해줬는데 그럼에도 오류가 났다. 그래서 System.out 으로 풀이 과정을 찍어보았는데 고작 n = 888 이기만 해도 long 범위를 한참 초과해서 음수값으로 바뀌는 현상이 .. 2021. 6. 13.
[프로그래머스(programmers)] (Lv2) 행렬의 곱셈 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 행렬의 곱셈 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr 문제 풀이 내가 고등학생 일 때, 교육과정에서 행렬이 빠졌었기 때문에 행렬이 있었다는 말만 들어봤지 행렬 개념 조차 몰랐다. 그래도 문제에서 설명해주겠지 라는 마음에 문제를 들어갔는데 행렬에 대한 설명은 없었다. 행렬의 결과를 완성하는 함수를 작성해달라는 지문.. 2021. 6. 12.
[프로그래머스(programmers)] (Lv2) JadenCase 문자열 만들기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - JadenCas 문자열 만들기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12951 문제 풀이 처음 모든 문자들을 소문자로 변환한다. 첫 글자이거나, " "(공백) 있는 다음 글자를 대문자로 변환한다. 처음 풀었을 땐, char배열에 넣어서 첫글자이거나 공백다음은 대문자로, 아닌것들은 소문자로 바꾸는 식으로 풀었었다. 이렇게 했더니 12점을 받았다. 그러고 나서 다른 사람들의 코드를 보는데 애초에 첫 줄에서 모든 문자열을 소문자로 변환한 후, 해당 조건시에만 대문자로 바꾸는 방법도 있어서 그렇게 다시 풀어보았다. 그리고 다시 푸는 김에 이번엔 char 배열에 넣는것이 아니라 .spl.. 2021. 6. 10.
[프로그래머스(programmers)] (Lv4) 보호소에서 중성화한 동물 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 보호소에서 중성화한 동물 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/59045 코딩테스트 연습 - 보호소에서 중성화한 동물 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 풀이 JOIN 을 사용하여 두 테이블의 조건이 충족된 중복된 것을 구한다. 여러가지 프로젝트를 만들면서 나도 모르게 SQL문에 익숙해져 있던.. 2021. 6. 5.
[프로그래머스(programmers)] (2020 카카오 인턴십) 수식 최대화 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 수식 최대화 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67257?language=java 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 문제 풀이 숫자, 연산자들을 배열에 각각 나누어 넣는다. 재귀함수를 활용하여 순열로 연산자 우선순위를 구한다. Math.abs() 를 사용하여 절대값 구한다. 이번 문제는 내가 여태까지 푼 문제중 가장 오래 걸렸다. 총 2일이 걸렸는데 첫날에는 코드.. 2021. 6. 4.
[프로그래머스(programmers)] (월간 코드 챌린지 시즌1) 이진 변환 반복하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 이진 변환 반복하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 문제 풀이 0의 개수 = 문자열 s의 길이 - 0을 지운후 s의 길이 이 문제는 많은 걸 생각할 것도 없이 쉬운문제였다. 그냥 주어진대로 차례대로 해나가면 풀 수 있는 문제였다. 점수는 4점 받았다. public static int[] solution(String s) { int[] answer = new int[2]; while(!s.equals("1")) { answer[1] += s.length(); s = s.replaceAll("0.. 2021. 6. 4.
[프로그래머스(programmers)] (2021 Dev-Matching) 행렬 테두리 회전하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 행렬 테두리 회전하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 문제 링크 한 칸씩 이동하는 것이므로 dx, dy 배열을 만들었다. 이번 문제는 거의 2시간 정도 걸렸다. 이렇게 까지 오래 걸린지 몰랐는데 시간을 보니 훌쩍 지나있었다. 문제를 어떤식으로 풀지 생각하는건 금방 했는데 구현하는 것에서 오래걸렸다. 오.. 2021. 6. 3.
[프로그래머스(programmers)] (월간 코드 챌린지 시즌2) 괄호 회전하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 괄호 회전하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 문제 풀이 Map을 사용하여 key, value로 비교한다. 올바른 괄호 문자열 비교를 위해 Stack을 사용한다. 이번 풀이는 15점이나 줬다. 여태까지 내가 푼 문제들 중에 가장 배점이 높아서 뿌듯했다. 풀고나서 다른사람들의 풀이를 봤는데 내 코드가 조금 더 나은점이 하나 있었다. 그것은 바로 map 을 사용하여서 괄호의 짝을 미리 지정해둔것이다. (다른사람은 모두 일일히 가져와 비교했다) 어차피 나올 괄호는 () [] {} 세가지로 정해져있기 때.. 2021. 6. 2.
반응형