본문 바로가기

프로그래머스22

[프로그래머스(programmers)] (2021 와디즈 코딩챌린지) 3번 : we make CODE #better 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 코딩테스트 3번 와디즈 코딩챌린지의 마지막 문제인 3번 해설을 해보도록 하겠다. 3번 문항은 와디즈 문제들 중 푸는 시간이 가장 오래 걸렸던 문제다. 간단한 것 같으면서도 복잡했다. 문제 설명 저작권의 문제로 문제설명은 생략하겠습니다. 문제 풀이 arr을 중복없이 정렬한 list를 생성한다. 초기설정으로 0이 있을 때와 없을 때를 구분해 resArr의 값을 갱신해준다. check 변수를 설정해 어디까지 바꿀지 판단한다. 최소한의 경우로 해야하므로 가장 작은 수로 전체를 맞춰나가야 하는것이 핵심이다. 그래서 나는 list에 어떤 숫자로 갱신해나가야하는지 정렬해두었다. 그 후 초기값인 0이나 최소값에서 부터 arr배열이 되기 까지의 과정을 나타.. 2021. 8. 26.
[프로그래머스(programmers)] (2021 와디즈 코딩챌린지) 1번 : we make CODE #better 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 코딩테스트 1번 2021년 8월 21일에 프로그래머스에서 열리는 와디즈 코딩챌린지 신청을 하고, 오늘 그 시험을 봤다. 경력 3년차 이상부터 뽑는 챌린지라 취준생인 나는 뽑히진 못하지만 그냥 신청해서 봤다,,ㅎ 문제는 총 3문제로 3시간 이내에 풀면 되는 시험이었는데 나에겐 나름 생각해야할 어려운 문제였어서 2시간 20분 정도 걸렸다. 오늘은 그 첫 문제 풀이를 해보려고 한다. 문제 설명 저작권의 문제로 문제설명은 생략하겠습니다. 문제 풀이 동 호수, 비밀번호를 hashmap에 넣는다. s를 split으로 # 마다 끊어준다. s가 hashmap에 동 호수와 일치하면 answer++을 해준다. s가 무조건 동 호수, 비밀번호 순서가 아니기 때.. 2021. 8. 21.
[프로그래머스(programmers)] 네이버 웹툰 1차 코딩테스트 합격 후기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 네이버 웹툰 코딩테스트 21년 7월 4일, 프로그래머스에서 네이버 웹툰 1차 코딩테스트가 진행됐으며, 오늘 7월 7일에는 1차 코딩테스트의 합격자 발표가 있었다. 떨리는 마음으로 메일 확인을 해보니, 다행히도 합격이었다. 아직 알고리즘 공부를 다 하지도 못했고 채용과 관련된 시험접수가 처음인지라 별다른 기대를 하지 않았었는데, 합격이라는 소식이 놀랍기도 하고 기뻤다. 코딩테스트 해당 코딩테스틑 총 2시간 동안 3문제가 출제되었다. 문제 유형은 아래와 같다. 1. 조합 2. 최적화 문제 - 동적계획법(Dynamic Programming), 탐욕 알고리즘 (Greedy Algorithm) 3. 문자열 탐색 나는 약 40분 정도의 시간을 소요하여.. 2021. 7. 7.
[프로그래머스(programmers)] (2020카카오 인턴십) 키패드 누르기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 키패드 누르기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제 풀이 키패드 위치의 좌표를 배열로 만든다. 거리가 더 가까운 손의 좌표를 갱신해준다. 2,5,8,0 번은 왼손과 오른손 중 가까운 손으로 눌러야 하므로 좌표를.. 2021. 6. 19.
[프로그래머스(programmers)] (Summer/Winter Coding 2018) 영어 끝말잇기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 영어 끝말잇기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co... 2021. 6. 17.
[프로그래머스(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.
반응형