일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CS
- 백준
- java
- 문자열
- 완전탐색
- Kotlin
- 에라토스테네스의 체
- 후니의 쉽게 쓴 시스코 네트워킹
- 동적계획법
- Effective Java
- 이분탐색
- JUnit 5
- mst
- dfs
- 구현
- 스택
- 투 포인터
- 프로그래머스
- 위상정렬
- 알고리즘
- swea
- 플로이드-와샬
- 수학
- 세그먼트 트리
- 그리디
- 시뮬레이션
- 백트래킹
- BFS
- Network
- 유니온 파인드
목록전체 글 (291)
반갑습니다!
1926번: 그림 www.acmicpc.net 풀이 카카오 프렌즈 컬러링 북과 동일한 문제이다. DFS와 BFS로 모두 풀 수 있다. 이번엔 DFS로 풀어보았다. 코드 #include #include #include #include using namespace std; int n, m; vector paint; vector visited; const int dx[] = { -1, 0, 1, 0 }, dy[] = { 0, -1, 0, 1 }; bool inRange(int x, int y) { return (0 n >> m; int paint_cnt = 0; int max_paint = 0; paint = vector(n, vector(m)); visited = vector(n, vector(m, fals..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제가 길어서 어렵다고 겁먹을 수 있지만 명시된 규칙대로 구현하면 의외로 쉽게 해결할 수 있다. '균형잡힌 괄호 문자열'의 여부는 stack을 이용하여 확인하였다. 자세한 풀이는 주석으로 남겨두었다. 코드 C++ #include #include #include using namespace std; // 올바른 괄호 문자열인지 체크해주는 함수 bool isCorrect(string str) { stack s; for (char c : str) { if (c == '(') s.push(c); else { i..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 stack을 이용하여 해결하였다. stack이 비어있으면 문자를 push한다. stack.top()과 현재 문자가 같으면 pop한다. 1, 2의 경우가 아니면 문자를 push한다. 문자열의 탐색이 끝나고 stack이 비어있으면 1, stack이 차있으면 0을 반환한다. 풀이 #include #include #include using namespace std; int solution(string str) { int answer = 0; stack s; for (char c : str) { if (s.emp..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 flag값을 생성하여 첫글자인지 체크해주면서 문자열을 변환해주면 된다. 코드 #include #include using namespace std; string solution(string s) { // 첫 글자 확인 flag 변수 bool first = true; for (int i = 0; i < s.length(); i++) { char c = s[i]; // 첫 글자이면서 소문자인 경우 if (first && 'a'
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1, 2, 4를 이용해서 숫자를 출력하므로 3진법처럼 구현하면 된다. 이 때 3, 6, 9 ... 등의 3으로 나눈 나머지가 0이 되는 숫자들을 별도의 처리해주어 구현하면 된다. 코드 #include using namespace std; string solution(int n) { string answer = ""; while (n > 0) { if (n % 3 == 0) { answer = "4" + answer; n = (n / 3) - 1; } else { answer = to_string(n % ..