본문 바로가기

분류 전체보기108

[프로그래머스(programmers)] (2021 와디즈 코딩챌린지) 3번 : we make CODE #better 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 코딩테스트 3번 와디즈 코딩챌린지의 마지막 문제인 3번 해설을 해보도록 하겠다. 3번 문항은 와디즈 문제들 중 푸는 시간이 가장 오래 걸렸던 문제다. 간단한 것 같으면서도 복잡했다. 문제 설명 저작권의 문제로 문제설명은 생략하겠습니다. 문제 풀이 arr을 중복없이 정렬한 list를 생성한다. 초기설정으로 0이 있을 때와 없을 때를 구분해 resArr의 값을 갱신해준다. check 변수를 설정해 어디까지 바꿀지 판단한다. 최소한의 경우로 해야하므로 가장 작은 수로 전체를 맞춰나가야 하는것이 핵심이다. 그래서 나는 list에 어떤 숫자로 갱신해나가야하는지 정렬해두었다. 그 후 초기값인 0이나 최소값에서 부터 arr배열이 되기 까지의 과정을 나타.. 2021. 8. 26.
[프로그래머스(programmers)] (2021 와디즈 코딩챌린지) 2번 : we make CODE #better 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 코딩테스트 2번 요즘 이것저것 사적인 일들이 너무 바빠서 블로그 업로드를 잘 하지 못했다. 여러가지 다른 문제들도 많이 풀어놓았으니 차근차근 하나씩 업로드를 하도록 하겠다. 오늘은 와디즈 코딩챌린지 2번문제 해설을 해보려고한다. 이 문제를 풀려고 봤을 때 처음엔 어떻게 할지 막막했지만 한참을 문제를 읽고 생각해보니 코드 짜는건 금방 할 수 있는 문제였다. 문제 설명 저작권의 문제로 문제설명은 생략하겠습니다. 입출력 예 code "a=3", "..a=4", "..b=3", "..print a", ".......a=6", ".......print a", ".......print b", "..print a", "....a=7", "....prin.. 2021. 8. 24.
[프로그래머스(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.
LRU 알고리즘이란 무엇인가? ▏목적 ◦ LRU 알고리즘 이해하기 ▏시작하는 말 정처기 자격증 준비했을 때 이론을 공부했었다. 그런데 마침 오늘 프로그래머스에서 문제를 보는데 LRU를 사용해야 하는 문제였다. 그래서 오늘은 그 LRU알고리즘을 설명해보려고 한다. ▏LRU 란 무엇인가? LRU (Least Recently Used) : 가장 오랫동안 참조하지 않은 페이지를 교체하는 기법 페이지 교체 알고리즘들의 종류중 하나로 가장 최근에 사용되지 않은 페이지를 제거하는 알고리즘이다. 대표적인 방법으로 전에 포스팅했던 Queue 형식을 생각하면 된다. ▏원리 크기가 4인 배열이 있다고 가정했을 때, 처음 4번은 들어온 순서대로 넣어주면 된다. 하지만 오른쪽 처럼 숫자 5를 넣으려고 한다면 가장 먼저 넣었던 1 (오래된 데이터)를 제거하고.. 2021. 8. 20.
[Programmers/2018 KAKAO BLIND RECRUITMENT] 캐시 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 캐시 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17680 cacheSize) { cache.removeFirst(); } } return answer; } 2021. 8. 19.
[Programmers/Lv2) 구명보트 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 구명보트 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 문제 풀이 배열 people을 정렬시킨다. hap 이 limit을 넘어간다면 i-- 해준다. 마지막 남은 값이 하나라면 answer++ 구명보트를 최대한 적게 사용해야 하므로 가장 무거운 사람부터 고려하면 되는 문제이므로 바로 오름차순 정렬을 했다. 내.. 2021. 8. 10.
[Programmers/Summer,Winter Coding(2018)] 방문 길이 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 방문 길이 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 문제 풀이 Math.abs()를 사용하여 좌표평면 안에 값을 체크한다. x좌표, y좌표를 각각 계산한다. 한 번 지나간 길을 list에 저장한다. 이번 문제는 어떻게 풀어야 할까 생각을 오래 했었다. 머릿속에서 생각을 해보았을 때 조건문을 너무 많이 사용해야 할 것 같아서 계속 고민을 했던 것이었는데 다른 방법이 생각나지 않아 결국 그냥 풀었다. 나중에 시간이 여유로울 때 다시 한번 고민해보고 싶어서 풀고 난 후 에도 다른 사람의 풀이는 보지 않았다. 나중에.. 2021. 8. 9.
[Programmers/Lv2] 땅따먹기 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 땅따먹기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 문제 풀이 public static int solution(int[][] land) { int answer = 0; int k = land.length; for(int i = 0; i < k-1; i++) { land[i+1][0] += max(land[i][.. 2021. 8. 6.
네이버 웹툰 2차 과제테스트 2021.07.10인 오늘, 네이버 웹툰 2차 코딩 테스트를 보았다. 내 블로그를 보면 알 수 있듯이 알고리즘 문제를 푸는 코딩 테스트는 연습도 많이 했었고 어떤 식으로 나오는지 대략적인 유형들을 알고 있었다. 하지만 과제 테스트는 한 번도 연습해 본 적 없었고 이런 게 있단 것도 몰랐다. 내가 비슷하게나마 해본 것은 프로젝트들을 만들던 경험뿐이었다. 스프링 프레임워크를 사용하였고 database를 거쳐 api를 내려주는 일들은 많이 해봤었지만 코딩 시험도 아닌 과제 테스트를 구글 검색을 아예 하지 않고 할 줄은 몰랐다. 당연히 내가 했던 코드들도 볼 수 없었다. 이번 시험으로 느낀 점은, 여태까지 프로젝트를 했던 것은 정말 겉핥기였구나 싶었다. 나름 잘한다 믿었던 나의 코딩 실력이 하찮음을 깨달았다. .. 2021. 7. 10.
반응형