1. 개요2시간 녹인 문제... 늘 내 블로그에 적는 말이지만 구현은 초반 설계가 잘못된다면 정말 힘든 문제인 것 같다. 여러 예외도 생각해야하고... 이래서 난이도 높은 문제들은 구현인가...? 싶기도 하다. 문제를 나누고 나올 수 있는 예외를 전부 처리해야 성공하는 문제이기에 시간도 많이 들고 힘도 많이 들었다... 출처: https://www.acmicpc.net/problem/2933 2. 본문내가 생각한 구현 문제의핵심은 다음과 같다. 물론 말 그대로 타고난 능력이 좋은 사람들은 저런 방법이 필요 없겠지만 말이다.. ㅋㅋㅋ1. 문제를 단계별로 나눈다.2. 예외사항을 처리한다.3. 구현- 문제 나누기 문제를 나누면 다음과 같다.1. 방향에 맞는 미네랄 제거.2. 떨어지는 미네랄 조사.3. 떨어질 ..
1. 문제 및 예제 문제를 제대로 읽지 않아 두바퀴 정도 뺑뺑 돌다가 해결한 문제다. 아까운 내 한 시간이 날아갔다. 이렇게 장문의 문제를 푸는 요령이라도 터득해야할 것 같다. 집중력 문제인 것 같기도해서 최근에는 시간을 정해두고 문제를 풀고있다. 이런 구현 문제는 지금 회사에서도 비슷한 일을 하는데 이렇게 시간이 오래 걸리다니... 충격적이긴 하다 ㅋㅋhttps://school.programmers.co.kr/learn/courses/30/lessons/340211 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 본론 이런 복잡한 문제들은 문제를 나누고 ..
1. 문제 및 예시 실행 결과 중구난방으로 알고리즘 문제를 풀다 이러면 아무것도 안 될 것 같아서 내가 약한 유형의 문제를 우선적으로 공부해야겠다는 생각해 DP문제를 쭉 풀어보았다. 바킹독님의 블로그에서 공부하고 있는데 풀이가 달라 한 번 정리해보았다. 출처: https://www.acmicpc.net/problem/25792. 본문 DP는 데이터 구조를 먼저 생각해보고 점화식을 세우는 두가지의 단계로 나뉜다고 생각한다. 물론 점화식을 세운다는 것 자체가 안 되는 문제이기에 구현 다음으로 손에 익어야하는 문제가 아닌가 싶다. 어쨎든 해당 문제의 데이터 구조와 점화식은 다음과 같이 정했다.데이터 구조: cache[i] = i번째 계단으로 얻을 수 있는 점수 중 최대값. 이제 데이터 구조를 구하는 점화식..
1. 문제 및 예제 카카오 문제에 신나게 달려들었다가 멘탈 박살났다. 처음 들어갈때는 "이게 왜 LV.2야 ㄷㄷ" 라는 생각이 들었는데, 풀다보니 "이게 왜 LV.2야?" 라는 생각이 계속 들었다. ㅋㅋ 임의로 생성된 노드를 구하는 방법이 진입 간선과 진출 간선의 수를 가지고 구한다는 생각을 하지 못해 결국 남의 풀이를 찾아 보았다. 역시 카카오는 기발한 생각으로 쉽게 문제를 풀 수 있거나 문자열과 같이 미친 집중력과 피지컬을 요구하는 쌩짜 구현 이 둘로 나뉘는 것 같다. 불평 해봤자 달라질 건 없으니 해당 방법으로 임의의 노드를 구하고 각 그래프의 종류를 구했다. 각 그래프의 종류를 구하는 방법은 어렵지 않았다. (솔직히 간선의 수로 다 해결할 수 있는 문제였구나를 나중에 깨달았다.)https://s..
1. 문제 및 예제 주어진 조건을 보면 아무리 계산을 많이 해도 시간 제한에 걸리지 않을 것이라는 확신을 가졌다. 그리고 문제 풀이를 세울 때도 Brute force밖에 생각나지 않았다. 이 문제가 정답률이 낮은 이유는 문제 자체의 난이도가 아니라 전역 변수에 관한 처리 방법인 것 같다는 생각이 들었다. https://school.programmers.co.kr/learn/courses/30/lessons/1835 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이과정 문제를 나누면 다음과 같다. 1. 구할 수 있는 모든 순서를 구한다. (재귀함수 ..
1. 문제 및 예제 그리디와 구현을 살짝 섞은 듯 했다. Queue를 사용하긴 했는데 차마 BFS느낌은 아니었다. 카테고리가 Greedy에 있는데 이건 어디까지나 알파벳을 바꾸는 비용을 구하는 과정이지 전체적인 정답은 BFS 혹은 구현으로 구해야한다는 생각이 든다. 이런 분류 때문에 정답률이 낮은건지... 설계한 내용 그대로 한 큐에 정답이 맞아 기분이 좋았던 문제이다. 물론 풀이시간은 좀 길었다. 여러가지 예외를 생각해서 설계하느라 그런 것 같다. 어떤 사람들은 그냥 자동으로 예외처리가 된다던데... 그런 사람들이 부러울 뿐이다. ㅎㅎ https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포..
1. 문제 및 예제 이건 입력되는 데이터의 최대값만 봐도 전부 돌리는 Brute force라는 것을 알았다. DFS와 조합 중에 고민하였는데 이는 사치라는 생각을 깨닫고 조금 더 빠르게 구현할 수 있도록 재귀 함수를 사용해 조합을 구현해보았다. 최대의 후보키를 구하는 문제여서 햇갈릴 수 있는데 속성이 작은 쪽부터 순차적으로 올라간다면 이 부분은 해결된다. 카카오의 문제들은 항상 높은 집중력을 요한다... 구현 문제를 기본적으로 효율적이게 접근할 수 있는 사람이 유리할 것 같다. https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, ..
1. 문제 및 예제 지문 그대로 구현하면 됐다. 오히려 지문을 이해하면서 시간이 조금 오래 걸린 문제였다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이 문제를 쪼개는 것보다는 그냥 각 기능을 하는 함수를 이번 단원에서는 소개하는 것이 훨씬 효율적이라고 생각한다. - get_uv() 해당 함수는 u와 v를 분리하는 함수이다. 여는 괄호와 닫는 괄화의 갯수가 항상 같기에, 간단하게 각 괄호의 수만을 count하는 방식으로 함수를 구현했다. 클린 코드를 만들어보고 싶어서 vector을 return해준다. vector get_uv(string str..
- Total
- Today
- Yesterday
- 기록지
- 코딩테스트
- 비트코인
- 육군
- java
- XML
- Programmers
- 백준
- BaekJoon
- 프로그래머스
- 코테
- 후기
- 안드로이드 스튜디오
- 백준알고리즘
- CJ
- 자료구조
- spring
- Spring Boot
- 구현
- CJ Olivenetworks
- 알고리즘
- c++
- CJ 올리브네트웍스
- C언어
- 백준 알고리즘
- 안드로이드 프로그래밍
- 개발자
- 문자열
- Python
- 코딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |