본문 바로가기

전체 글

(268)
[백준 java] 2606-바이러스 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 각 노드의 관계를 그래프에 저장하고 1번 노드와 이어진 노드의 수를 계산하는 문제 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class B2606 { static int N,M; static int count = 0; static int[][] Graph; static boolean[] visited; public static void main(String[..
9205-맥주 마시면서 걸어가기 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 맨 처음 받는 숫자만큼 테스트를 실행하니 for문으로 bfs를 돌려준다. 시작위치와 도착위치를 각각 (sRow,sCol) (fRow, fCol) 로 지정하고 bfs의 while문에서 시작위치와 도착위치가 같아지면 while문을 끝내고 happy 저장 맥주를 마시고 거리 1000을 갈 수 있으니 두 Row값의 차와 Col값의 차가 1000을 넘기면 countinue로 건너뛰기 bfs의 while문 맨 처음에 시작위치와 끝 위치의 차이가 1000을 넘기지 않는..
BookStore 프로필 업로드 새로고침 현상 수정 내용 기존의 프로필 수정시 서버에서 프로필을 저장하고 저장한 위치를 vue의 store에서 저장하는 과정중 새로고침 현상이 일어나서 변경된 사진으로 갱신을 못하는 현상 수정 원인 받은 url을 store의 action에서 require로 가공후 저장하는 과정에서 새로고침 발생 해결 action에서 파일 위치만 저장 후 mutations: { ... isLoading : function(state, data){ state.loadingData = data; console.log("hi") }, putProfile: function (state, data){ state.userData.nickName = data.nickName state.userData.profilePicture = data.profile..
1697-숨바꼭질 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 저번에 풀었던 스타트링크와 엄청 유사한 문제다 각각 N+1 N-1 N*2 이 조건문을 만족하면 큐에 넣어준다 그리고 bfs 상단의 if문으로 최단 거리를 구해준다 Node를 사용하지않고 while문을 통과할때마다 count++ 해주어 sout(count)를 해도 좋을 것 같다 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public clas..
2573-빙산 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 빙산이 녹아 빙산 덩어가 2개 이상이 되는데 까지 몇 년이 걸리는지 구하는 문제이다. 필드의 row col 입력받고, 필드의 빙산 값들을 받아준다. (0이면 물? 1이상이면 빙산) 빙산의 동서남북중 하나라도 물에 닿고있다면 닿고있는 물의 수만큼 마이너스 해준다. (0년차 - 입력값) 빙산들이 다 이어져있으니 1덩이 0 0 0 0 0 0 0 0 2 4 5 3 0 0 0 3 0 2 5 2 0 0 7 6 2 4 0 0 0 0 0 0 0 0 0 (1년차) 빙산들이..
5014-스타트링크 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 순서대로 전체층, 시작층, 목표층, 올라갈층, 내려갈층 를 입력받고 큐에 시작층과, 버튼을 누르지 않았으므로 0을 add후 while문을 돌려준다 방문하지 않은 층만 방문할수 있고, (층+올라갈층) 은 전체층을 넘기면 안되고 , (층-내려갈층) 은 1층 이상이어야 한다. 현재층이 목표층에 도달했으면 클릭 수를 리스트에 저장한다. while문이 끝나면 리스트에서 제일 작은 수를 꺼내서 출력 해당 층에 방문여부를 (층+올라갈층) 보다 늦게 검증해서 조금 틀렸다... packag..
14503-로봇청소기 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 청소기 위치와 방향(d), board를 입력받고 clear메소드로 넘어간다 clear에서 큐에 초기값을 넣고 for문을 돌리며 방향을 바꿔준다 (왼쪽으로 한번씩 총 4번) (if 바라보고 있는 방향이 북쪽이라면 서>남>동>북 순으로 탐색) d의 값은 0-북, 1-동, 2-남, 3-서 로 명시되어있다. 따라서 위치 배열도 북 동 남 서 순으로 지정했다. 로봇청소기가 청소를 했다면 search를 true로 바꿔주며 while문 안의 하단 if문에 걸리지 않는다 만약..
7569-토마토 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 높이 가로 세로를 입력받고 3차원 배열에 데이터를 넣다가 1(익은 토마토) 가 들어오면 해당 토마토를 큐에 넣어준다. 입력이 끝나면 너비우선탐색으로 토마토를 익히고 날짜를 더해주면서 진행 만약 익힌토마토를 만나면 날짜를 더하지 않고 바로 덜익은 토마토를 찾으러 간다 토마토 익히기를 끝내고 덜익은 토마토가 있으면 -1 if(res < temp.count) res= temp.count; 에서 구한 최대 날짜를 출력한다 원래 for문을 사용하여..