본문 바로가기

전체 글230

Summer/Winter Coding(~2018) > 스킬트리 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 스킬트리에 유저의 스킬(skill_tree.charAt[i]) 있어? Yes -> 순서 맞아? Yes skill.charAt[index] == skill_tree.charAt[i] No flag = false; 이런식으로 진행하면 됩니다. 코드 class Solution { public int solution(String skill, String[] skill_trees) { .. 2024. 1. 11.
코딩테스트 연습 > 땅따먹기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 dp로 풀어보려고 했는데 그냥 단순히 완탐을 해버렸네요 ㅠㅠ 현재 위치의 값을 가지고 바로 밑에 줄에 있는 값들과 더해 보면서 가장 높은 값만 저장합니다. 그렇게 마지막까지 가면 마지막 줄에는 그 위치에 도달하는 방법 중 가장 높은 값일 경우만 모입니다. 그 후에 마지막 줄에서 최댓값 한 번 찾아주면 됩니다. ps. 코드 길이를 좀 더 줄이고 싶으면 dp[0] = Arrays... 2024. 1. 11.
2019 카카오 개발자 겨울 인턴십 > 튜플 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 튜플을 보면 숫자가 하나씩 늘어나는 것을 볼 수 있는데 길이가 늘어났을 때 새로운 숫자가 늘어난 길이 = index에 해당하는 값이다. 위의 그림처럼 문자열을 길이 순으로 정렬 하고 보면 바로 보일 것이다. 그래서 Set을 사용해서 새로운 값이라면 Answer에 값을 넣으면 정답이 나오는 것을 볼 수 있을 것이다. 풀이 주어지는게 문자열이 아니라 배열이였으면 더욱 쉬웠을 텐데 .. 2024. 1. 10.
코딩테스트 연습 > 주식 가격 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 - 나의 생각 https://fall-in-dream.tistory.com/72 코딩테스트 연습 > 뒤에 있는 큰 수 찾기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/154539 풀이 - 나의 생각 뒤에 있는 나보다 큰 수를 찾는 것이기 때문에 뒤에서부터 찾으면 수월할 거라고 생각을 했다. 최악의 경우 1, 1, 1 ,.. 2024. 1. 10.
Summer/Winter Coding(~2018) > 방문 길이 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/49994 풀이 - 나의 생각 1 -> 2 로 넘어갈 경우 방문 길이는 체크 되지만 2-> 1 방향으로 가는 경우는 체크 되지 않아야 한다. 기존에 하던 것처럼 2차원 배열로 방문처리 할 경우 위의 경우는 가능하지만 3 ->2나, 4->2, 5->2 같은 경우 방문 길이가 늘어나야 하지만 2가 이미 방문처리 되어 늘어나지 않는다. 그걸 어떻게 코딩할까 고민을 하다가 방문처리를 3차원으로 하면 되겠다고 생각했다. [방향][맵][맵] 이런 식으로해서 들어온 방향 + 반대 방향을 방문 처리 해주면 그 외에 방향에서 들어오는 건 방문 길이가 추가 되게 할 수 있다!! 코드 import java.util.*; .. 2024. 1. 10.
코딩테스트 연습 > 뒤에 있는 큰 수 찾기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/154539 풀이 - 나의 생각 뒤에 있는 나보다 큰 수를 찾는 것이기 때문에 뒤에서부터 찾으면 수월할 거라고 생각을 했다. 최악의 경우 1, 1, 1 , 1 , 1 , 1 , 1 , 1 --------------------------, 9 이런 경우 단순히 반복문으로 i = 0,1,2,3 --- n-1 의 경우 i = n 까지 뒤져 봐야 하는데 너무 비효율적이라고 생각했기 때문이다. 결국 문제는 나보다 큰 수가 어디 있을지 모르는 것이다. 그래서 뒤에서부터 찾기로 했다. Stack을 사용(여기서는 Deque를 사용했지만)해서 값들을 저장하는데 나보다 큰 값을 찾을 때까지 Stack에 있는 값들을 다 .. 2024. 1. 9.