코딩 테스트

    [SWExpertAcademy]1949번 [모의 SW 역량테스트] 등산로 조성 - Java

    [SWExpertAcademy]1949번 [모의 SW 역량테스트] 등산로 조성 - Java

    문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PoOKKAPIDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 전형적인 삼성 기출 문제 중 하나인 것 같다. 최근에 삼성 기출 문제를 몇개 접했는데 다 너무 어려워서 손도 못대거나 못풀거나 했다. ㅠㅠㅠ 그래서 자신감도 없고 이런 문제만 보면 기가 죽었는데 최근에 풀었던 삼성 문제들 중에는 쉬운 편에 속하는 것 같아서 어찌저찌 풀었다. 문제에 조건들을 보면 숫자가 크지 않으므로 완전탐색이 가능하다는 것을 알 수 있고, 그냥 막 돌리면 되겠다 싶어서 ..

    [백준]7576번 토마토 - Java

    [백준]7576번 토마토 - Java

    문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 풀이 토마토가 다 익는데까지 며칠이 걸렸는지 출력하는 문제이기 때문에 DFS로 풀면 답을 찾기 힘들 것이다. 그래서 BFS로 풀었음! 1번 방법(오답) BFS할 때 사용하는 큐의 Tomato 클래스는 익은 토마토의 위치와 며칠째에 익었는지를 나타내는 day를 멤버변수로 함! 큐에서 하나씩 빼서 다음 칸으로 갈 수 있는지 검사하며, 다음 칸을 큐에 넣어줄 때 day+1을 하면서..

    [백준]14502번 연구소 - Java

    [백준]14502번 연구소 - Java

    문제 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 허허,,, 풀긴 풀었는데 너무 더럽게 푼 것 같다,,, 느낌만 그런건가...?? 조합 + DFS로 풀었음! 중간에 막힌 부분이 있었는데 dfs돌려서 안전 영역 최대값을 조사한 후 map 배열을 초기화 해줄 때 초기화 시점이 헷갈려서 자꾸 벽을 하나도 안세울 때로 초기화를 해버려서 좀 시간이 걸렸다 ㅠㅠ 그래서 벽을 2개 세웠을 때의 map을 tempMap에 잠시 저장해놨다가 벽 3개 세우고 dfs돌..

    [SWExpertAcademy]1249번 [S/W 문제해결 응용] 4일차 - 보급로 - Java

    [SWExpertAcademy]1249번 [S/W 문제해결 응용] 4일차 - 보급로 - Java

    문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 문제를 읽어보면 딱 다익스트라 쓰면 풀 수 있겠구나 하고 감이 온다. 출발지랑 도착지가 정해져있고 최소 비용을 구하는 거니까! 도로를 복구하는 시간 말고 최단 거리 같은 조건은 없으니까 별 다를게 없는 그냥 다익스트라 문제이다. https://seokmimmmmmmmm.tistory.com/84 [백준]4485번 녹색 옷 입은 애가 젤다지? - Java 문제 https://www.acmi..

    [백준]14503번 로봇 청소기 - Java

    [백준]14503번 로봇 청소기 - Java

    문제 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 풀이 후,,, 나는 구현 문제가 왜 이렇게 어려운지 모르겠다 ㅠㅠㅠ 많이 풀어봐야 될 듯하다,, 음 뭐랄까 dfs인데 횟수 제한이 있는 dfs 문제?? 2a번 단계가 4번 연속으로 실행되면 멈추거나 후진해야되니까? 개인적으로 포인트는 1. 왼쪽으로 돌거나 뒤로 후진할 때의 방향 설정이랑 2. return을 해줘야하는 위치 라고 생각한다! 걔네들을 어떻게 했는지는 밑에 코드의 주석을 보면 알..

    [백준]1475번 방 번호 - Java

    [백준]1475번 방 번호 - Java

    문제 https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 크기 10인 1차원 배열을 만들어서 반복문을 돌면서 인덱스에 해당하는 번호가 나올 때마다 증가를 시켜줌 반복문이 끝마녀 그 중 최댓값을 출력하면 되는데, 6이나 9인 경우에는 int temp = arr[6] + arr[9]; temp = temp / 2 + temp % 2; 6이랑 9를 뒤집어서 사용할 수 있으므로 이렇게 해줘야 됨 그 후에 다시 최댓값을 찾아서 출력하면 끝! 아예 처음에 배열을 크기 9로 만들고 입력받을 때 6이랑 9를 같은거라고 인식해서 입력 받아서 풀 수도 있을 ..

    [백준]1789번 수들의 합 - Java

    [백준]1789번 수들의 합 - Java

    문제 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 풀이 처음엔 문제를 읽고 너무 어렵게 생각해서 DP 문제인가 아니면 재귀로 접근해야하나 고민했는데 S가 10인 경우, 100인 경우를 예시로 생각해보니까 단순히 계산해주면 될 것 같아서 단순 계산 문제로 접근했다. 그런데 분명히 답은 맞는데 런타임 에러가 나서 다시 문제를 읽어보니까 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. 범위가 딱 long 타입의 범위였다. 그래서 sc.nextLong으로 받아서 해결! 코드 // 1789번 수들의 합 // https://www.acmicp..

    [백준]14720번 우유 축제 - Java

    [백준]14720번 우유 축제 - Java

    문제 https://www.acmicpc.net/problem/14720 14720번: 우유 축제 영학이는 딸기우유, 초코우유, 바나나우유를 좋아한다. 입맛이 매우 까다로운 영학이는 자신만의 우유를 마시는 규칙이 있다. 맨 처음에는 딸기우유를 한 팩 마신다. 딸기우유를 한 팩 마신 후 www.acmicpc.net 풀이 쉬운 문제임 주석 참고하셈! 코드 // 14720번 우유 축제 // https://www.acmicpc.net/problem/14720 package BAEKJOON; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer..