본문 바로가기

Algorithms29

[백준_23290]마법사 상어와 복제 with Java 백준(BOJ) 삼성 SW 역량 테스트 기출 문제 문제집: 마법사 상어와 복제(골드 1) 문제 출처: https://www.acmicpc.net/problem/23290 1. 알고리즘 상어 이동이 어려웠다....3중 for문으로 해결했는데, DFS같이 재귀로 풀었으면 더 코드가 복잡하지 않았을 것같다...! 구현 / 브루트포스 ArrayList 이차원 배열로 격자판, Deque 이차원 배열로 냄새 표현 (물고기 복사 > 물고기 이동 > 상어 이동 > 냄새 없애기 > 복사 완료) 반복 1 2 3 4 5 6 7 for(int s=0; s 2022. 1. 5.
[백준_23291] 어항 정리 with Java 백준(BOJ) 삼성 SW 역량 테스트 기출 문제 문제집: 어항 정리(골드 1) 문제 출처: https://www.acmicpc.net/problem/23291 23291번: 어항 정리 마법사 상어는 그동안 배운 마법을 이용해 어항을 정리하려고 한다. 어항은 정육면체 모양이고, 한 변의 길이는 모두 1이다. 상어가 가지고 있는 어항은 N개이고, 가장 처음에 어항은 일렬로 바 www.acmicpc.net 1.알고리즘 어항을 돌리고 올리는 과정이 힘들었다... 좌표에 약하다는 건 알고 있었는데, 조금 복잡해지니까 계산을 하다가도 왜 계산을 하고 있는 지 잊고 난리가 났었다ㅠ 어찌저찌 좌표 계산해서 진행했는데, 좌표 관련된 문제들 더 봐야할 것같다. 구현 / 브루트포스 정수형 이차원 배열로 어항 표현 (물고기 .. 2022. 1. 4.
[백준_1463]1로 만들기 with Python, Java 백준(BOJ) DP 문제집: 1로 만들기(실버 3) 문제 출처: https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 1. 알고리즘 DP 알고리즘 사용하면 쉽게 풀린다. 배낭 문제처럼...? 1부터 N까지 이전 숫자+1로 숫자를 만들어 횟수를 카운팅해주면 됨. 예전에 Python으로 풀었을 땐 한 번에 잘했던데 이번에 Java로 풀 때 중간에 로직을 바꾸면서 else if를 사용하는 바람에 한 번 틀림. else if를 사용하면, 2나 3으로 동시에 나눠지는 숫자들에 대해 3으로만 처리한다. >> 틀린다는 뜻. 아 그리고 Java로 풀면서 성능이 궁금해져서 이것저.. 2021. 10. 12.
[백준_16236]아기 상어 with Python, Java 백준(BOJ) 삼성 SW 역량 테스트 기출 문제 문제집: 아기 상어(골드 4) 문제 출처: https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 1. 알고리즘 Python으로 먼저 풀어봤던 문제. 처음에 문제 읽고 로직 구상할 때 좀 막막하긴 했었다. 하지만 짜고나면 의외로 좀 심플한 듯? Java코드는 Python 코드랑 거의 동일함. 하지만 java를 최근에 풀었으니까 java로 풀이할 것... 일단 물고기를 찾는 동작은 기본 BFS 동작.. 2021. 8. 26.