목록코테 (26)
Welcome! Everything is fine.
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 직접 그림을 그려가며 푸니 바로 이해되는 문제였다. 그러나 Math.min()과 Math.max()를 사용해 최솟값과 최댓값을 구하는 과정에서 힌트를 찾아보았다. 머리로는 알아도 막상 코드로 구현하려니 바로바로 되진 않았다. 바탕화면에 파일이 예시처럼 있다면, 드래그 하는 시작점은 (가장 위쪽, 가장 왼쪽) 인 (0, 1) 이고, 끝점은 (가장 아래쪽, 가장 오른쪽) 인 (3, 4) 이다. 0 1 2 3 4 5 1 # 2 # 3 # 정리하면, wallpaper 배열을 이중 for문으로 돌며 ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 카드 뭉치의 순서대로 단어 배열을 만들 수 있는지 확인하는 문제이다. 나는 ArrayList 2개를 이용하여 풀었는데, 다른 사람들의 코드를 보니 그냥 주어진 배열로도 풀 수 있고, 큐를 사용한 답안도 있었다. 내가 푼 방식에 대해 설명하자면, ArrayList를 2개 만들고 각각의 리스트에 cards1, cards2 배열을 옮겨 담았다. 그리고나서 goal 배열을 돌면서 goal[i] 번째 요소가 cards1과 cards2에 순서대로 있는지 확인한다. 여기서 for문을 2개를 만들어 각각 ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 - 배열 사용 나는 이 문제를 그냥 배열을 이용해 풀었지만, 다른 사람들의 코드를 보니 우선 순위 큐를 사용한 사람들이 많았다. 실제로 배열을 사용한 코드와 우선 순위 큐를 사용한 코드를 비교해보니 우선 순위 큐가 더 빨랐다. 이번 문제를 통해 우선 순위 큐를 사용하는 방법을 공부해보는 것이 좋겠다. 내가 처음 작성한 답안은 배열과 정렬을 이용하였다. 먼저 명예의 전당에 들어가는 점수를 저장하는 hallOfFameScores 배열과 명예의 전당의 최하위 점수를 저장하는 answer 배열을 만..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 terms 배열만 HashMap에 넣어놓고 고민만 하다 끝나버린 문제.. 날짜나 시간을 다루는 게 아직 익숙하지 않아서 많이 풀어봐야할 것 같다. 내가 생각했던 풀이는 다음과 같다. terms 배열을 HashMap에 저장한다. privacies 배열을 돌면서 개인정보 수집일자와 약관 종류를 불러온다. 개인정보 수집일자 + 약관 종류에 따른 유효기간의 값이 오늘 날짜보다 작거나 같으면 유효기간이 지난 것이므로 파기해야한다. 파기해야 할 개인정보의 번호(인덱스)를 리스트에 추가한다. 날짜를 년,..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 달리기 경주에서 선수들이 추월한 결과를 반환하는 문제이다. 이름이 불리는 대로 간단하게 swap만 하면 되는 줄 알았지만 처음 작성한 코드에서 시간 초과가 났다. 처음에 주어지는 players의 최댓값이 50,000, callings의 최댓값이1,000,000 이므로 최악의 경우 대략 500억번 정도 돌아간다고 보면 된다. indexOf()로 이름이 불린 선수의 인덱스값을 찾았는데, 인덱스 값을 더 빠르게 찾을 수 있는 방법이 필요했다. 이 문제는 해시를 사용해야 한다는 힌트를 얻어 풀 수 ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 카카오 신입 공채 1차 코딩 테스트 해설은 다음과 같다. 📌 첫 번째 풀이 해설에서는 비트 연산을 묻는 문제라고 나와있지만..처음 풀 때 비트 연산은 전혀 생각하지 못했다. 나중에 비슷한 문제가 나온다면 비트 연산을 떠올릴 수 있겠지..🥲 이 풀이는 비트 연산으로 푼 것이 아니니 두 번째 풀이부터 봐도 괜찮다. 시행착오를 기록하려고 적어본다. 우선 처음에는 0부터 n까지 for문을 돌리며 무작정 arr1과 arr2를 이진수로 변환하였다. Integer.toBinaryString()을 이용하면 10진수..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 문자열 s를 처음부터 돌면서 앞에서 자신과 가까운 글자가 얼마나 가까이 있는지 구한 후 그 결과를 반환하는 문제이다. 내가 작성한 코드를 정리하자면 다음과 같다. 문자열 s를 한 글자씩 char형 배열에 저장한다. 이중 for문으로 문자 배열을 돈다. 처음 나온 글자인 경우 arr[i]와 arr[j]가 다를 경우 -1을 배열에 저장한다. 앞에 나온 글자인 경우 arr[i]와 arr[j]가 같을 경우 몇 칸 앞에서 나왔는지 구한 후(현재 인덱스 - 앞 인덱스) 그 결과를 배열에 저장한다. 📌 ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 주어진 방향과 거리에 따라 로봇강아지를 이동시켜 최종적으로 놓인 위치를 반환하는 문제였다. 쉬워 보였지만 코드를 치면 칠수록 점점 헷갈려갔고..왜 안되지?를 반복하다가 힌트를 보고 풀었다. 먼저 해야하는 일을 적어보자면 아래와 같다. 시작 좌표를 저장한다. park 배열을 돌면서 'S'의 위치를 저장한다. routes 배열을 돌면서 방향과 거리에 따라 로봇강아지를 이동시킨다. 이동하는 경우 공원의 크기를 벗어나지 않고, 장애물이 없다면 이동한다. 가로 방향을 width, 세로 방향을 heig..