programming (98) 썸네일형 리스트형 [백준 알고리즘] 2933번 - 미네랄 (구현, BFS) 1. 개요2시간 녹인 문제... 늘 내 블로그에 적는 말이지만 구현은 초반 설계가 잘못된다면 정말 힘든 문제인 것 같다. 여러 예외도 생각해야하고... 이래서 난이도 높은 문제들은 구현인가...? 싶기도 하다. 문제를 나누고 나올 수 있는 예외를 전부 처리해야 성공하는 문제이기에 시간도 많이 들고 힘도 많이 들었다... 출처: https://www.acmicpc.net/problem/2933 2. 본문내가 생각한 구현 문제의핵심은 다음과 같다. 물론 말 그대로 타고난 능력이 좋은 사람들은 저런 방법이 필요 없겠지만 말이다.. ㅋㅋㅋ1. 문제를 단계별로 나눈다.2. 예외사항을 처리한다.3. 구현- 문제 나누기 문제를 나누면 다음과 같다.1. 방향에 맞는 미네랄 제거.2. 떨어지는 미네랄 조사.3. 떨어질 .. [programmers] 340211번 - 충돌위험 찾기 (구현, [PCCP 기출문제] 3번) 1. 문제 및 예제 문제를 제대로 읽지 않아 두바퀴 정도 뺑뺑 돌다가 해결한 문제다. 아까운 내 한 시간이 날아갔다. 이렇게 장문의 문제를 푸는 요령이라도 터득해야할 것 같다. 집중력 문제인 것 같기도해서 최근에는 시간을 정해두고 문제를 풀고있다. 이런 구현 문제는 지금 회사에서도 비슷한 일을 하는데 이렇게 시간이 오래 걸리다니... 충격적이긴 하다 ㅋㅋhttps://school.programmers.co.kr/learn/courses/30/lessons/340211 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 본론 이런 복잡한 문제들은 문제를 나누고 .. [programmers] 258712번 - 가장 많이 받은 선물(DP, 2024 KAKAO WINTER INTERNSHIP) 1. 문제 및 예제 DP 열심히 풀던 와중에 이런 문제가 나오다니.. 행복했다. 회사에서는 JS를 쓰기 때문에 다시 C++을 사용해보니 메소드도 기억 안나서 그냥 내가 몇개 만들었다. 그래도 첫 제출에 맞춰서 나름 뿌듯했다. 1분 뒤에 레벨1 원트에 맞았다고 뿌듯해하는 내 자신을 보면서 자괴감도 조금 들었다...https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 본론 선물을 주고받은 기록을 따로 배열에 저장하면 해결되는 간단한 DP문제이다. 선물.. [Javascript] 객체에 정의되지 않은 요소의 참조를 예방하는 방법 1. 서론 회사에 큰 손해를 끼치며 배운 JS문법을 정리하고 같은 실수를 반복하지 않기 위해 과정을 정리하고자 한다. 사견이지만 JS는 자유도가 너무 높은 객체인 것 같다. 코테는 C++, 서버는 JAVA로 개발하고 지금 사이드 프로젝트에서는 Python을 사용하고 있기에 JS는 이번에 입사한 회사에서 처음 사용해본다. 처음 접한건 학교 웹 개발 수업에서 들은 정도... 자랑은 아닌데 따로 JS를 공부하지는 않았다. "여기저기 경험하고 다치면서 성장하는거지 뭐!" 라고 생각했는데 8톤 트럭에 치이고 콤마 상태 한 번 갔다 와보니 심각성을 느꼈다. 어떤 실수였는지에 대한 자세한 내용은 아래의 포스팅에 정리하였다.https://apape1225.tistory.com/169 [산업기능요원] 크나큰 실수 기념.. [백준 알고리즘] 2579번 - 계단오르기 (Dynamic programming) 1. 문제 및 예시 실행 결과 중구난방으로 알고리즘 문제를 풀다 이러면 아무것도 안 될 것 같아서 내가 약한 유형의 문제를 우선적으로 공부해야겠다는 생각해 DP문제를 쭉 풀어보았다. 바킹독님의 블로그에서 공부하고 있는데 풀이가 달라 한 번 정리해보았다. 출처: https://www.acmicpc.net/problem/25792. 본문 DP는 데이터 구조를 먼저 생각해보고 점화식을 세우는 두가지의 단계로 나뉜다고 생각한다. 물론 점화식을 세운다는 것 자체가 안 되는 문제이기에 구현 다음으로 손에 익어야하는 문제가 아닌가 싶다. 어쨎든 해당 문제의 데이터 구조와 점화식은 다음과 같이 정했다.데이터 구조: cache[i] = i번째 계단으로 얻을 수 있는 점수 중 최대값. 이제 데이터 구조를 구하는 점화식.. [programmers] 258711번 - 도넛과 막대 그래프(BFS, 2024 KAKAO WINTER INTERNSHIP) 1. 문제 및 예제 카카오 문제에 신나게 달려들었다가 멘탈 박살났다. 처음 들어갈때는 "이게 왜 LV.2야 ㄷㄷ" 라는 생각이 들었는데, 풀다보니 "이게 왜 LV.2야?" 라는 생각이 계속 들었다. ㅋㅋ 임의로 생성된 노드를 구하는 방법이 진입 간선과 진출 간선의 수를 가지고 구한다는 생각을 하지 못해 결국 남의 풀이를 찾아 보았다. 역시 카카오는 기발한 생각으로 쉽게 문제를 풀 수 있거나 문자열과 같이 미친 집중력과 피지컬을 요구하는 쌩짜 구현 이 둘로 나뉘는 것 같다. 불평 해봤자 달라질 건 없으니 해당 방법으로 임의의 노드를 구하고 각 그래프의 종류를 구했다. 각 그래프의 종류를 구하는 방법은 어렵지 않았다. (솔직히 간선의 수로 다 해결할 수 있는 문제였구나를 나중에 깨달았다.)https://s.. [DDD] chapter 11 Chapter 11 11.1 단일 모델의 단점 주문 내역 조회 기능을 구현하려면 여러 애그리거트에서데이터를 가져와야 한다. Order에서 주문 정보를 가져와야 하고, Product에서 상품 이름을 가져와야 하고, Member에서 회원 이름과 ID를 가져와야 한다. 이러한 구현 복잡도 문제를 해결하려면 상태 변경을 위한 모델과 조회를 위한 모델을 분리하여 구현할 수 있다. 11.2 CQRS Command Query Responsibility Segregation의 약자로 상태를 변경하는 명령을 위한 모델과 상태를 제공하는 조회를 위한 모델을 분리하는 패턴이다. CQRS는 도메인이 복잡할수록 명령 기능과 조회 기능이 다루는 데이터 범위에 차이가난다. CQRS를 사용하면 각 모델에 맞는 구현 기술을 선택할 수.. [DDD] chapter 10 Chapter 10 10.1 시스템 간 강결합 문제 외부 서비스를 사용할 때 발생할 수 있는 문제점 트랜잭션 처리가 애매해진다. 성능이 비교적 감소한다. (외부 서비스 성능에 직접적인 영향을 받게 된다.) 위의 문제를 해결하는 방법은 이벤트를 사용하는 것이다. 10.2 이벤트 개요 이벤트란? 과거에 벌어진 어떤 것. 사용자가 암호를 변경했을 때 > "암호를 변경했음 이벤트"가 벌어졌다고 할 수 있다. 사용자가 주문을 취소했을 때 > "주문을 취소했음 이벤트"가 벌어졌다고 할 수 있다. 도메인의 상태 변경과 관련된 요구사항들을 이벤트를 통해 구현할 수있다. "주문을 취소할 때 이메일을 보낸다."라는 요구사항에서 "주문을 취소할 때"는 주문이 취소 상태로 바뀌는 것을 의미하므로 "주문 취소됨 이벤트"를 이용.. 이전 1 2 3 4 ··· 13 다음