일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swea
- 백트래킹
- 이분탐색
- 플로이드-와샬
- 백준
- 유니온 파인드
- 문자열
- 에라토스테네스의 체
- 완전탐색
- 세그먼트 트리
- CS
- dfs
- 수학
- 알고리즘
- 투 포인터
- JUnit 5
- 후니의 쉽게 쓴 시스코 네트워킹
- 스택
- Kotlin
- mst
- Effective Java
- BFS
- 구현
- 그리디
- 프로그래머스
- 동적계획법
- 위상정렬
- java
- Network
- 시뮬레이션
목록전체 글 (291)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 파일명을 HEAD와 NUMBER로 분리하여 문제의 주어진 조건을 기준으로 compare함수를 정의하여 stable_sort 함수를 통해 해결하였다. Java의 경우 Comparator를 구현해서 해결했다. 코드 #include #include #include using namespace std; // HEAD와 NUMBER 분리 pair parse_head_tail(string file) { pair ret; int idx = 0; // HEAD를 분리하기 위해 탐색 for (char c : file) ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 LZW 알고리즘을 구현하는 문제이다. map를 사용해서 사전을 구현해서 해결하였다. 코드C++ #include #include #include using namespace std; // 알파벳 미리 세팅 void setting(map& m) { for (int i = 0; i < 26; i++) { string tmp = ""; tmp += (char)('A' + i); m[tmp] = i + 1; } } vector solution(string msg) { vector answer; map m; // ..
14503번: 로봇 청소기 www.acmicpc.net 풀이 문제에서 주어진대로 구현하면 되는 시뮬레이션 문제이다. 로봇이 탐색하는 부분을 구현하는 것이 핵심이다. 코드 #include using namespace std; int r, c, rx, ry, rd; int map[50][50]; const int dx[] = { 0, 1, 0, -1 }, dy[] = { -1, 0, 1, 0 }; int simulation() { // 청소한 바닥의 개수 int cnt = 0; while (true) { int x = rx; int y = ry; // 현재 위치의 바닥 청소 if (map[y][x] == 0) { map[y][x] = 2; cnt++; } bool wash = false; // 현재 방향의 ..
1194번: 달이 차오른다, 가자. www.acmicpc.net 풀이 이 문제에서는 열쇠를 보유하고 있는 상태를 표시하는 것이 관건인 문제이다. 열쇠 보유 상태를 표현하기 쉽게 하기 위해서 비트 마스킹을 사용했다. a 열쇠를 집은 경우 000001 으로 표기한다. b 열쇠를 집은 경우 000010 으로 표기한다. c 열쇠를 집은 경우 000100 으로 표기한다. d 열쇠를 집은 경우 001000 으로 표기한다. e 열쇠를 집은 경우 010000 으로 표기한다. f 열쇠를 집은 경우 100000 으로 표기한다. 비트 마스킹을 사용하면 여러개의 키를 가지고 있는 경우도 쉽게 표현할 수 있다. 그리고 열쇠를 가지고 있는 경우에 따라서 갈 수 있는 경로가 달라지기 때문에 중복 체크하는 배열을 3차원으로 구성해서..
16986번: 인싸들의 가위바위보 www.acmicpc.net 풀이 가위바위보 손동작 수가 N이라면 지우는 [1, 2, 3, ... , N] 을 낼 수 있다. 따라서 지우가 낼 손동작의 순서를 모두 구해서 확인해보면 해결할 수 있다. 코드 #include #include #include using namespace std; int n, k; int a[10][10]; int jw[10], kh[20], mh[20]; bool simulation() { int jw_idx = 0, kh_idx = 0, mh_idx = 0; int jw_win = 0, kh_win = 0, mh_win = 0; // 다음 차례에 가위바위보 할 사람을 가리키는 변수 // 0: 지우, 1: 경희, 2: 민호 int rest =..