일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- 시뮬레이션
- 구현
- JUnit 5
- 에라토스테네스의 체
- 완전탐색
- 투 포인터
- 유니온 파인드
- 위상정렬
- Network
- Effective Java
- 세그먼트 트리
- 문자열
- 스택
- CS
- 플로이드-와샬
- 알고리즘
- 동적계획법
- mst
- BFS
- 이분탐색
- dfs
- Kotlin
- 백트래킹
- swea
- 그리디
- 프로그래머스
- 후니의 쉽게 쓴 시스코 네트워킹
- 수학
- 백준
목록전체 글 (291)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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개의 사각형이 잘린다는 것을 알 수 있다. 따라서 가능..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 바구니를 stack으로 구현하면 되는 문제이다. 인형을 집고 떨어뜨리기 전에 stack의 가장 위에 있는 인형의 종류를 확인하여 같은 인형이면 pop해주면 된다. 코드C++ #include #include #include using namespace std; int solution(vector board, vector moves) { int answer = 0; stack s; for(int i=0; i
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열 s가 압축될 수 있는 경우는 패턴의 길이가 s.size()/2인 경우까지이므로 패턴을 만들 때 1부터 s.size()/2까지 반복하여 압축 가능 여부를 체크하여 최솟값을 찾는다. 코드 #include #include #include using namespace std; int solution(string s) { int answer = INT_MAX; int len = s.length(); // 문자열의 길이가 3보다 작으면 압축이 안되므로 리턴 if (len < 3) return len; // ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 queue에 작업의 index를 push하고 매일매일 작업량을 갱신하며 queue의 앞에서부터 배포 가능한지 확인하면 된다. 코드 #include #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; queue q; int n = progresses.size(); // 큐에 인덱스 저장 for(int i=0; i= 100){ q.pop(); cnt++; } if(cnt ..