일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- StringBuilder
- 백준 14938번 서강그라운드
- 코틀린기초
- dp
- StringTokenizer
- append
- mysql hy000 에러
- 프로그래머스 java
- 백준 2467번 용액 자바 - 이분탐색
- 백준 1197번 최소 스패닝 트리 - java
- 백준 1541
- 백준 1647번 도시 분할 계획 - java
- HashSet
- Stack
- hash
- 프로그래머스
- HashMap
- ac 5430번
- 백준 2473번 세 용액 - java
- toUpperCase
- Java
- 프로그래머스 자바
- replace()
- 18111번 마인크래프트 - java 구현
- 백준 3190번
- kotlin
- 최소 힙 1927
- 백준 1043번 거짓말 - java 분리 집합
- map
- 백준 1806번 부분합 java
- Today
- Total
목록분류 전체보기 (177)
말하는 컴공감자의 텃밭
프로그래머스를 안푼지 꽤 됐는데 새로운 유형의 문제가 나와서 흥미가 갔다. PCCE는 Programmers Certified Coding Essential 로 프로그래머스 코딩필수역량인증 시험프로그래밍 문법과 알고리즘에 대한 기초 능력 평가라고 한다. 한가지가 더 있었는데 PCCP라고, 코딩전문역량인증 시험도 존재했다. 난이도가 훨 높았다. 점수에 따라 레벨을 나누어 기업에서 코테를 안봐도 이정도 됩니다~ 하기 좋을거 같았다. [PCCE 기출문제] 1번 / 출력 빈칸을 채우는 형식이었다. 아이신기해 [PCCE 기출문제] 2번 / 피타고라스의 정리 오류를 찾아 한줄 수정하는 문제도 있고 [PCCE 기출문제] 3번 / 나이 계산 [PCCE 기출문제] 4번 / 저축 [PCCE 기출문제] 5번 / 산책 [PCC..
위치를 바꿔서 연속적인 색의 사탕을 먹는 게임이다. 모든 경우를 따져야한다 판단했고 브루트포스로 풀어봤다 가로와 세로 바꾸는 모든 경우의 수를 전부 확인해서 가장 긴 크기를 구했다. 아무것도 바꾸지 않아야 큰 경우도 존재했기에 추가했다. HTML 삽입 미리보기할 수 없는 소스
2006도 초등부 문제라니.. 껄껄 점화식을 고려해 봅시다. 한번에 한 계단 또는 두 계단씩 오를 수 있지만 연속된 계단 3개는 밟을 수 없으며 마지막은 무조건 밟아야한다. 점화식은 이번에 놓을 위치에는 무조건 딛고, 그 전 경우에서 Math.max로 더 큰값을 정해주었다. 가장 높은곳인 6에 놓을때는 dp [3] + arr [5] + arr [6] 랑 dp[4] + arr[6]중 큰 값을 가져가면 되겠다. HTML 삽입 미리보기할 수 없는 소스 다만 3까지는 하드코딩 해주어 오류를 없애주었다.
대각선을 포함하여 연달아 5개가 되는지 판단해주면 된다. 대각선이 포인트다. 대각선을 어떻게 나타낼까 public static int[] dr = { -1, -1, -1, 0, 0, 1, 1, 1 }; public static int[] dc = { -1, 0, 1, -1, 1, -1, 0, 1 }; 늘쓰던 요놈이죠 뭐. 상하좌우에서 대각선도 추가해줍니다. dfs()에 d 를 통해서 방향을 지정해주었다. 연속적인게 5개라면 오목 가능 return. HTML 삽입 미리보기할 수 없는 소스 dfs 안에 중복되는 함수로 보일텐데 시작점 때문에 넣어줬습니다. 방향을 정하지 않은 상태에서 방향을 정하려고 d에 9 값을 넣어주었고, 이후로는 k 0~8 방향을 탐색.
'#' 들이 정사각형 처럼 있나 확인하는 문제다. 0,0 에서 시작해서 오른쪽, 아래로만 탐색해서 정사각형이 이뤄지는지 판단해주었다. 첫번째 '#' 가 나온다면 그 왼쪽과 위에 '#' 가 있으면 안되니까 첫번째 '#'가 등장하면 flag 로 시작점을 알려주었다. 이후로는 cnt ++ 를 통해 '#' 의 개수를 저장했고. Math.sqrt(cnt)로 변의 길이를 구해 주었다. 변의 길이만큼 조사하고, 정사각형 범주가 아니라면 chk 를 통해 answer 에 "yes" 또는 "no"를 넣어주었다. 위 조건으로 #가 하나인경우도 포함된다. HTML 삽입 미리보기할 수 없는 소스 쉽죠 후후 26%라고 쫄지 맙시다.
처음에 문제를 제대로 안 읽어서 틀렸던 문제다. 사람들이 소심해서 개개인마다 특정 기준이상의 사람들이 박수를 치질 않으면 박수를 치질 않는다. 성공적인 공연으로 보이기 위해서 모두가 박수를 쳤으면 하는데 몇명의 사람을 고용해야하는지 ~ 단순하게 총 박수 수가 요구하는 기준보다 작다면 그 차이만큼 고용해주면 그만. HTML 삽입 미리보기할 수 없는 소스
탐색 문제이다. BFS() 를 활용했다. 현재 좌표까지 오는 길중 최소값을 선택해서 S > G 경로의 최소값을 업데이트 해주는 방식을 사용했다. HTML 삽입 미리보기할 수 없는 소스 BFS나 DFS는 늘 재밌따리..
치즈는 위험해..! 문제을 요약하면 1과 0이 맞닿으면 1시간 후, 1이 0이 된다. 모두 사라지는데 걸리는 시간과 사라지기 직전 시간대의 1이 몇개 있는지 출력하면 되는 문제이다. 외각에는 치즈가 없고, 하나 이상의 구멍이 존재하는데 이는 0과 맞닿은것이 아닌걸로 취급한다. 결국 치즈의 개수가 0까지 bfs()로 탐색을 지속하고, 외각에서부터 0 주변에 1이 있다면 0으로 바꾸고, 치즈 개수를 줄여주면 되겠다. 또한 한 사이클마다 치즈 개수를 저장하여 다 사라지기 직전 치즈 개수를 남겨주면 되겠다. 알고리즘 공부를 입출력이 너무 크지 않는 한 Scanner만 사용했는데 BufferedReader, StringTokenizer, BufferedWriter 을 사용해서 풀어보려 한다. 정리: https:/..
BufferedReader, StringTokenizer, BufferedWriter 코테 준비하면서 자바 기본 I/O인 Scanner 만 사용했었다. 스캐너는 데이터 유형을 유연하게 선택할 수 있지만 속도가 느리다는 단점이 존재했다. 메모리와 속도적으로 알고리즘 문제 풀이에서 제한이 생기는 경우가 존재해서 방식을 바꾸려고한다. 백준 입력 속도 비교 https://www.acmicpc.net/blog/view/56 첫째 줄에 정수의 개수 N (= 10,000,000), 둘째 줄부터 N개의 줄에 한 개의 자연수(10,000 이하)가 적힌 파일을 입력받는데 걸리는 시간을 측정. 10번 측정해서 평균값으로 순위를 매김 버퍼 크기 실행 속도(백준 참고) BufferedReader 8KB 0.6585 sec Sc..
이전 문제와 비슷하다. 사실 얘를 먼저풀었는데 블로그에 정리를 안했었네~ ++ https://hb-in99.tistory.com/89 백준 7576번 토마토 G5 - BFS 요즘 지문 긴게 좋더라.. 뭔가 풀고 뿌듯한 느낌이 든다. 이해 잘못하면 큰일이긴 한데 ㅎㅎ 이 문제는 쉬운 BFS인데 시작점이 여러개라는 점과 날짜를 어떻게 기록하지? 가 관건인 문제였다. 익 hb-in99.tistory.com 이 친구도 동일하지만 이번엔 층이 생겼다. 기존에는 row와 col로만 찾았다면 이젠 위층도 생겨버렸다. 전에 해서 쉽쥬~ 실수만 하지 맙시다. 큐에 익은 토마토 모두 넣고 bfs 돌리기!! 이왕 함수로 뺀겸 범위 체크도 분리해서 가독성 올려주었다. HTML 삽입 미리보기할 수 없는 소스