일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코딩
- 코틀린
- groupby
- 안드로이드스튜디오
- 자바
- 혼공파
- 프로그래머스
- 혼공챌린지
- navermap
- Android
- 인프런
- 정처기
- 안드로이드
- CS
- select
- Til
- 카카오코테
- 혼공단
- 스터디
- 정보처리기사
- MySQL
- 코딩테스트
- 우아한테크코스
- 우테코
- join
- SQL
- doitandroid
- Kotlin
- 코테
- java
- Today
- Total
목록프로그래머스/Lv.1 (26)
Welcome! Everything is fine.
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 카드 뭉치의 순서대로 단어 배열을 만들 수 있는지 확인하는 문제이다. 나는 ArrayList 2개를 이용하여 풀었는데, 다른 사람들의 코드를 보니 그냥 주어진 배열로도 풀 수 있고, 큐를 사용한 답안도 있었다. 내가 푼 방식에 대해 설명하자면, ArrayList를 2개 만들고 각각의 리스트에 cards1, cards2 배열을 옮겨 담았다. 그리고나서 goal 배열을 돌면서 goal[i] 번째 요소가 cards1과 cards2에 순서대로 있는지 확인한다. 여기서 for문을 2개를 만들어 각각 ..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 풀이 이번 문제는 문자열 s를 한글자씩 돌면서 각 알파벳을 n만큼 미는 문제이다. 아스키코드를 이용하여 풀었다. 문자열을 돌면서 char 변수 result에 s.charAt(i) + n을 먼저 저장한 후, 소문자와 대문자를 나눠서 조건문을 작성하였다. 처음에는 소문자와 대문자를 구분하지 않아서 틀렸다. 문자열 연산이 많을 수 있으므로 StringBuilder로 result를 붙여나가도록 했다. s.charAt(i)가 소문자일 경우 알파벳 소문자는 아스키코드 97 ~ 122인 경우이다. Charac..
📌 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌풀이 이 문제 전에 푼 '가장 많이 받은 선물'을 풀고 나니 아이디어를 쉽게 떠올릴 수 있었다. 먼저 문제의 규칙을 요약하자면 다음과 같다. 동일 유저를 여러 번 신고해도 신고 횟수는 1회로 처리된다. k번 이상 신고당한 유저가 있는 경우 해당 유저를 신고한 모든 유저가 결과 메일을 받는다. k번 이상 신고당한 유저가 없는 경우 아무도 결과 메일을 받지 않는다. 그리고나서 HashMap과 int형 배열을 선언하였다. HashMap map : 모든 유저의 id와 해당 인덱스를 저장하는 HashMap ..