일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 최소 힙 1927
- 백준 1043번 거짓말 - java 분리 집합
- 백준 2467번 용액 자바 - 이분탐색
- append
- replace()
- 백준 1541
- 프로그래머스 java
- StringTokenizer
- 백준 3190번
- kotlin
- 백준 1647번 도시 분할 계획 - java
- StringBuilder
- 백준 14938번 서강그라운드
- ac 5430번
- Stack
- 백준 1197번 최소 스패닝 트리 - java
- 18111번 마인크래프트 - java 구현
- hash
- 백준 2473번 세 용액 - java
- 코틀린기초
- HashSet
- toUpperCase
- Java
- map
- mysql hy000 에러
- dp
- HashMap
- 백준 1806번 부분합 java
- 프로그래머스 자바
- 프로그래머스
- Today
- Total
목록알고리즘/SW expert - Java (12)
말하는 컴공감자의 텃밭

레스고 어푸어푸 싸피 친구가 이거 문제 어떻게 풀지 궁금하대서 두달전에 줬었는데 정신없어서 한달 후에야 해결하고 그걸 또 한달만에 정리한다. 에호 이놈아 특징 1.소용돌이가 등장한다. 🚨 -> 텀은 2초동안 유지되고 생성되고 반복 (0초,1초, 2초에 사라짐. 3,4초에 나왔다가~ 5초에 사라지고) 2. 소용돌이로는 이동할 수 없다. -> 사라지고 이동~ 3. 만약 내 위치에 소용돌이가 생긴다면 그때는 이동 가능하다. 소용돌이는 어떻게 처리? ⚓ -> % 3 == 2로 확인하고 처리해주자 고고 HTML 삽입 미리보기할 수 없는 소스 그래프 문제는.. 참 재밌따.. 요즘 객체활용도 익숙해져서 좋구.. 코드가 길긴하지만.. 미리미리 테스트 해가면서 문제점을 짚어줍시다.. 우르르 왁왁 다썼다가 꼬이면 힘들더라..

문제에 오류가 있어서 해결이 안된 문제다. 댓글에 109 -> 10^9를 봤어야했는딩.. 댓글 덕분에 해결 ^ HTML 삽입 미리보기할 수 없는 소스 간단했다

대각선을 포함하여 연달아 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는 늘 재밌따리..

햄버거 재료를 제한된 칼로리에 맞게 조합하고, 민기의 선호도가 가장 높은 조합의 점수를 출력하면 된다. DFS를 이용해 재귀를 통해 제한된 칼로리 이내의 모든 경우를 찾아 주었다. HTML 삽입 미리보기할 수 없는 소스 아 간단하네~ 했는데 에? T가 높은 인풋도 있나보다. public static void dfs(int depth, int cal, int point) { answer = Math.max(answer, point); for (int i = depth; i < N; i++) { if (cal + ingredient[i][1] L) { return; } // 모든경우 다 찾았으므로 if (depth == N) { answer = Math.max(answer, point); return; } ..

처음엔 쉬워 보였다, 최대자릿수가 6자리 기도 하고.. 교환 횟수를 홀수와 짝수를 나누어서 큰수 찾아서 비교,,, 아 할게 많구나 싶었다. 아니면 그리디 방식으로 해야하나? 했다가 6자리니까 DPS로 풀어보자 했다. DPS는 완전 탐색으로 자물쇠가 000부터 999까지라면 모든 수를 넣어서 열어보는 방식이다. HTML 삽입 미리보기할 수 없는 소스 에잉 귀차나 먼저 숫자를 %10으로 자릿수를 배열로 담아준다. 조작 횟수가 길이보다 많다면 의미가 없어지므로 불필요한 연산은 줄여주었고, 재귀 dfs 함수와, 위치를 바꾸는 swap 함수, 배열을 숫자로 만드는 함수 arrToInt를 만들어 주었다. 재귀는 사이클이 없도록 if문에 조작 횟수를 다 사용했을 경우 return 하도록 구성했다. for문을 통해 모..

문제를 처음 읽었을때. 정답률 17%도 보고 이게 뭐지 생각했다. A와 B가 같아지고 싶은데, 소수로 빼고 더하고만 가능하다. 조작 횟수를 출력한다 만약 소수로 같아지게 할 수 없다면 -1을 출력한다. 단 최대 값을 원하는 문제이다. 예를 들어 A 가 5 B가 10라면. A에 +2 또는 +3을하고, B에 -3 또는 -2. 아니면 한쪽에서 +2, +3, -2 -3 하는 방법이 있다. 모두 operation은 2이므로 답은 2가 된다. 소수가 눈에 띄어서 따로 함수로 풀었으나, 웬걸 이거 최대값이니까 2로 최대한 빼주고 더해주면 되는 문제였다. 어? 쉽네 하고 슥슥 작성했다. HTML 삽입 미리보기할 수 없는 소스 46개에서 42개가 맞아서 음? 했다. 반례가 있나~ 해서 gpt 도움을 받을라 했는데 아무튼..

가장 높은곳에서 블럭을 옮겨, 낮은 곳으로 옮기는 문제이다. 최종적으로는 정해진 횟수만큼 움직여서 가장 높은곳과 낮은곳의 차이점을 출력하면 되는 문제다. A가 최고점이므로, B로 이동. A가 최고점이므로 C에 이동, C`에 이동해도 무방하다. 가로는 100으로 고정되어 있으며, 10번의 tc가 주어진다. 점프 회수는 1~1000이고, 모두 동등해지면 더이상의 평탄화는 불가능하므로, 그때 상황에 따라 1또는 0을 출력한다. ex) 666766 의 경우 7이 높긴하나 더 옮길 수 없으므로 1 출력. 보자마자 단순 구현이라는 생각이 들었고, 가장 높은곳은 -1, 낮은곳은 +1 * 주어진 횟수로 풀었다. HTML 삽입 미리보기할 수 없는 소스 간단쓰.. 이런건 너무 좋자나