일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 수학
- JUnit 5
- Network
- swea
- 위상정렬
- 플로이드-와샬
- CS
- BFS
- 이분탐색
- 백트래킹
- java
- 동적계획법
- 에라토스테네스의 체
- 시뮬레이션
- 후니의 쉽게 쓴 시스코 네트워킹
- Kotlin
- 그리디
- 완전탐색
- 프로그래머스
- dfs
- 구현
- 세그먼트 트리
- 문자열
- 백준
- 투 포인터
- 유니온 파인드
- Effective Java
- 알고리즘
- 스택
- mst
목록프로그래머스 (102)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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 % ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 전형적인 BFS문제이다. [0, 0] 부터 [N, M] 까지 반복문을 돌면서 picture의 값이 0이 아닐 때 마다 BFS를 실행하여 BFS가 실행된 횟수가 구역의 수가 되고, BFS의 리턴값을 통해 구역의 최대 넓이 또한 구할 수 있다. 코드 #include #include using namespace std; int M, N; vector visited; const int dx[] = {-1 ,0, 1, 0}, dy[] = {0, -1, 0, 1}; bool inRange(int x, int y){..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 직선의 방정식을 구해서 직선보다 y좌표 값이 작은 사각형의 개수를 구하고 2배하는 방법으로 풀어보려했지만 시간초과가 계속 발생해서 결국 방법을 바꿔서 해결한 문제이다. 규칙을 찾는게 어려운 문제였다. 풀이 잘리는 사각형의 개수를 패턴을 통해서 알 수 있다. w와 h의 최대공약수를 g라고 하면 가로가 w/g, 세로가 h/g인 패턴이 g번 반복되는 것을 알 수 있다. (아래 그림 참조) 그리고 해당 패턴 안에 잘리는 사각형을 생각해보면 w/g + h/g - 1개의 사각형이 잘린다는 것을 알 수 있다. 따라서 가능..