일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 백트래킹
- 후니의 쉽게 쓴 시스코 네트워킹
- 이분탐색
- 문자열
- 위상정렬
- 시뮬레이션
- 투 포인터
- 백준
- 유니온 파인드
- 동적계획법
- 플로이드-와샬
- Effective Java
- 완전탐색
- Kotlin
- 알고리즘
- dfs
- 프로그래머스
- 수학
- 에라토스테네스의 체
- JUnit 5
- mst
- 세그먼트 트리
- 구현
- BFS
- 그리디
- 스택
- java
- Network
목록전체 글 (291)
반갑습니다!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 생각보다 시간이 좀 걸렸던 문제이다. 확실히 stack, queue 관련 문제를 많이 안풀어봐서 풀이가 잘 생각나지 않는 것 같다. 풀이 queue를 이용하여 1초마다 값을 push하여 다리를 구현하였다. 이렇게 구현하면 q.size()가 bridge_length와 같은 경우 queue의 맨 앞 트럭이 다리를 건넜다는 의미가 되므로 pop해주면 된다. 다리에 올라간 트럭들의 무게가 weight보다 작지만 새로운 트럭이 올라갈 수는 없는 경우에는 0을 push하여 해결하였다. 다리의 길이가 2, 다리가 견딜 수..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분류가 스택/큐로 되어있지만 단순 탐색으로 해결하였다. 풀이 prices의 길이가 100,000 이하이므로 N^2의 복잡도의 이중 for문으로 해결가능하다. 코드C++ #include #include using namespace std; vector solution(vector prices) { vector answer; for(int i=0; i prices[j]) break; } answer[i] = cnt; } return answer; } }
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 팰린드롬이 짝수로 생성되는지 홀수로 생성되는지 나누어서 체크하였다. 홀수 길이의 펠린드롬의 경우 문자열 s의 1 ~ s.length() - 1 범위의 반복문을 돌면서 기준점을 잡고 펠린드롬을 체크하였다. 짝수 길이의 경우 s의 0 ~ s.length() - 1 범위의 반복문을 돌면서 펠린드롬을 체크하였다. 코드 #include #include #include using namespace std; int solution(string s) { int answer=1; int i; for(i=1; i
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 BFS를 통해 1번 노드부터 모든점들을 방문하고 가장 오래 걸린 노드들의 개수를 출력해주면 된다. 초기 입력 값으로 들어오는 edge 배열을 인접 리스트로 변환하여 풀이하였다. 코드 #include #include #include #include #include using namespace std; vector adj; vector visited; int bfs(){ queue q; q.push(1); visited[1] = 0; int ret = 0; while(!q.empty()){ int cur =..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 전형적인 동적계획법 문제이다. i번째 타일은 i-1번 째 타일 모양에 타일을 하나 더 채워서 만들 수 있다. 그리고 i-2번 째 타일 모양에 타일 2개를 더 채워서 만들 수 있는데, 타일 2개를 채우는 방법은 2가지이다. 여기서 dp[i] = dp[i-1] + 2 * dp[i-2] 라고 생각할 수 있는데, i-2번째 타일에 2개 더 채우는 방법 중에서 1가지 방법은 i-1번째 타일에 1개의 타일을 추가하는 방법과 중복되므로 dp[i] = dp[i-1] + dp[i-2]가 된다. 따라서 해당 점화식으로 해..