전체보기 (168) 썸네일형 리스트형 백준 10217 KCM Travel https://www.acmicpc.net/problem/10217 10217번: KCM Travel 각고의 노력 끝에 찬민이는 2014 Google Code Jam World Finals에 진출하게 되었다. 구글에서 온 초대장을 받고 기뻐했던 것도 잠시, 찬찬히 읽어보던 찬민이는 중요한 사실을 알아차렸다. 최근의 대세�� www.acmicpc.net 다익스트라 알고리즘...으로 풀면되는데 변수명을 막 지었다가 시간만 엄청 날린 문제다... K와 M을 헷갈리다니...후... /* KCM Travel */ #include #include #include #include #define MAX_N 2100000000 #define pp pair class node { public: int cost, time,.. [Spring] 테스트 코드는 순서대로 실행되지 않는다. Member와 관련된 함수를 테스트하는 코드를 가볍게 작성해보았다. public class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @Test public void save() { Member member = new Member(); member.setName("Spring1"); repository.save(member); Member result = repository.findById(member.getId()).get(); assertThat(member).isEqualTo(result); } @Test public void findByName(){ Member membe.. 백준 1202 보석 도둑 https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 문제 세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 � www.acmicpc.net 우선순위 큐를 이용하는 문제인데... 이런게 정말 창의력 문제라고 생각한다. 어떻게 이런 풀이를 생각하는건지... 결국 풀지 못하고 다른 사람의 답을 봤다. 그리고 30분동안 감탄했다. 이 문제를 내는 사람이나, 푸는 사람이나... 대단해 이 문제에서 중요한 점은 가방에 들어갈 수 있는 보석의 무게가 '최대'라는 점이다. 즉 10kg을 넣을 수 있는 가방이라도 3kg만 넣어도 된다. 이게 .. nodejs : unexpected token '...' Error! (three dot error) AWS EC2에서 PM2를 돌리려는데 이런 에러가 떳다. 오랜 삽질 끝에 원인을 알아냈는데... Node JS의 Version이 너무 낮은게 문제다! 당시 내 nodeJS의 version은 7...이었다 node --version 명령어로 지금 내 노드가 버전 몇인지 알 수 있다. https://phoenixnap.com/kb/update-node-js-version How to Update Node.js to Latest Version {Linux, Windows, and MacOS} New Node.js versions come out often! This guide shows you how to install the latest Node.js version on any Linux, Windows, .. 백준 1517 버블 소트 https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1≤N≤500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0≤|A[i]|≤1,000,000,000의 범위에 들어있다. www.acmicpc.net 머지 소트를 이용하는 문제다. 제일 처음에 한 숫자를 기준으로 오른쪽에 본인보다 작은 숫자가 많은 개수만큼 sorting을 해야한다는 점에 착안해서 문제를 풀려고 했는데 잘 되지 않았다. Merge Sort로 푸는 방법이 신박하다. 결국 정렬된 형태의 배열과 원래 배열 사이에 얼마나 많은 Cross 가 생기는가! 이걸 센다. /* 버블 소트 */ #include #include #defi.. 백준 1516 게임 개발 https://www.acmicpc.net/problem/1516 1516번: 게임 개발 첫째 줄에 건물의 종류 수 N(1 ≤ N ≤ 500)이 주어진다. 다음 N개의 줄에는 각 건물을 짓는데 걸리는 시간과 그 건물을 짓기 위해 먼저 지어져야 하는 건물들의 번호가 주어진다. 건물의 번호는 1부 www.acmicpc.net 위상정렬 문제다. 차이가 있다면 '시간'이라는 변수가 추가된 것! 보통은 'C건물이 완성되려면 A건물과 B건물이 완성되어야 합니다' 라는 문제조건에 따라 inedge의 개수만 세면 되는데 이 문제는 '시간'이 기준이어서 A건물과 B건물이 완성되는 시간 모두를 고려하는 게 아니라 둘 중 더 늦게 완성되는 건물의 완성 시간을 기준으로 잡아야 한다. 즉 Queue가 아니라 priority Q.. 백준 9935 문자열 폭발 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 문제 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 www.acmicpc.net Stack을 활용하는 문제다. 정확히 말하면 STL이나 여타 라이브러리가 아니라 Stack의 LIFO을 이용한다. 백만이나 되는 Input과 2초 밖에 안되는 시간제한을 고려했을 때 별다른 선택지가 없었다. 비교 연산을 1억번 할 때 1초 정도가 들기 때문에 2초면 비교 연산만 고려해도 2억번 이내로 해결해야한다. 하지만 Input이 100만 이기 때문에 N^2는 최악의 경우 100 0000 * 100 .. 객체 지향의 사실과 오해 - 이건 띵작이야 객체 지향 프로그래밍(Object Oriented Programming)은 여전히 트렌드이고, 좋다는 걸 다들 안다. 그런데 OOP가 무엇인 지, 왜 좋은 지를 설명하는 건 생각보다 쉽지 않다. 이 책을 읽으면 객체 지향의 핵심이 무엇이고 이걸 쓰면 왜 좋은지 어렴풋이 알 수 있다. 저자는 서문에서 이 책을 '어쩌다 만들어진 책'으로 소개한다. 객체 지향에 대한 책을 쓰다가, 독자가 이해하기 어려울 용어를 정리하는 과정에서 탄생한 책이니까! 그래서 쉽다!!! 이 내용의 밀도에 비해 정말 술술 익힌다... 책 속에 등장하는 은유는 참 찰지다... 객체 지향 프로그래밍을 처음 접하는 사람에게 이 책만큼 권할 저서가 다시 나올까 싶을 정도다. 인상 깊은 구절을 내 나름의 언어로 옮기자면 컴퓨터의 모든 동작은 .. 백준 9019 DSLR https://www.acmicpc.net/problem/9019 9019번: DSLR 문제 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스� www.acmicpc.net 간단한 구현 문제인데 시간초과가 빡세다... 완전 탐색으로 풀면된다. 처음엔 map 자료형과 bfs를 혼합해서 풀었는데 시간초과가 떳다. map 자료형이 시간이 꽤 드는 듯... 역시 임의 접근만큼 빠른게 없다. 방문 체크를 할 bool array를 하나 만들어서 작업을 했다. /* DSLR */ #include #include #include #include using names.. 백준 5214 환승 https://www.acmicpc.net/problem/5214 5214번: 환승 문제 아주 먼 미래에 사람들이 가장 많이 사용하는 대중교통은 하이퍼튜브이다. 하이퍼튜브 하나는 역 K개를 서로 연결한다. 1번역에서 N번역으로 가는데 방문하는 최소 역의 수는 몇 개일까? 입 www.acmicpc.net BFS를 쓰면 되는 문제이지만 메모리 초과가 문제가 된다 . Edge를 연결하는 과정에서 브루트포스를 적용하면 무려 10 ^ 9가 된다. 일일히 두 개를 연결하지 않고 Hub처럼 동작할 dummy 노드를 하나 만들면 공간복잡도를 크게 줄일 수 있다. 앞으로도 유용하게 쓸 수 있는 스킬인 것 같다. /* 환승 */ #include #include #include #define MAX 100000 + 1 us.. 이전 1 ··· 11 12 13 14 15 16 17 다음