목록분류 전체보기 (255)
-
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/2SvXf/btrmgQvFju7/5G99l4Vj3pGsXSKivQCAo0/img.png)
자바를 공부하면서 자료형이라는 얘기를 많이 들어보셨을겁니다. 이해를 쉽게 하기 위해 우리가 과일 장사를 한다고 해보겠습니다. 그리고 이 과일들을 판매하기 위해 창고에 적재를 하고 과일 장사를 시작한다 합시다. 이런 창고 20칸에 과일을 넣는다고 가정해보겠습니다. 이중 사과는 2칸씩 넣어야 한다고 가정하겠습니다. 그럼 위의 사진처럼 2칸이 세로로 배열되더라도 빈틈없이 넣는 것이 중요합니다. 또한 일을 처리하는 것이 심플해집니다. 그럼 창고에 적재하기 위해 사과가 30개 들어왔다고 가정해보겠습니다. 그럼 창고에는 몇칸이 필요할까요? 2 x 5니까 10칸이 필요하겠죠??? 그럼 위에 창고에 총 20칸이 있으니까 우리는 10칸만 사용하면 된다는 것을 미리!! 알 수 있는 것입니다. 프로그래밍에서도 이 원리는 똑..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bnFXo1/btrmfufwgZi/aPqKk37PKc7bKYXFfeyA0k/img.png)
# 주소 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.*; public class Main{ public static int[] dx = {1,-1}; public static int n,m; public static int count; public static int arr[] = new int[100001]; public static void ..
DT? 다트? 더티? 이게 대체 뭔데? 디지털 트랜스포메이션(Digital Transformation)이라고 들어보셨나요? 줄여서 DT, 디지털 전환이라고도 하는데 말 그대로 물질을 정보로 바꾸는 것을 뜻해요. 4차 산업혁명이 시작되면서, 요즘 이 DT가 아주 HOT🔥 하대요. 종이에서 디지털로 변신! 쉽게 예를 들어볼게요. 사물에 이름이 있는 것처럼 각각의 색상에는 66FFCC, 3300FF와 같은 고유의 RGB 값이 있는데요. 어떤 그림에 사용된 모든 색을 RGB 값으로 변환하면 물질인 그림을 정보화할 수 있어요. 거리에 뿌려지던 전단을 디지털화해서 배달의 민족이 등장했고 종이 지도를 디지털화해서 T맵이 탄생했죠. DT와 산업혁명의 콜라보, 그만큼 중요하시다는 거지 디지털 혁명이라고도 불리는 4차 산..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YXbpg/btrl8nBi6ry/TkUPKKXKpg4ZYXMAXR9mm1/img.png)
컴퓨터에는 메모리라는 것이 있습니다. 저장 영역이란 뜻인데요. 서랍처럼 구성이 되어 있습니다. 이런식으로 서랍처럼 값을 저장할 수 있습니다. 그리고 각 위치값을 인덱스라고 부르고 그 인덱스는 CPU에 의해 연산이 되어집니다. 이 메모리 영역은 단순히 큰 박스라고 했는데 자바에서는 이 박스를 영역을 나누어서 어디부터 어디까지는 Static, 어디부터 어디까지는 Heap, Stack을 구분해서 사용합니다. 즉 이렇게 논리적으로 구분을 하여 자바에서 사용됩니다. 예를 들어보겠습니다. 여러분이 커피를 테이크-아웃하기 위해 카페를 갔다고 가정해보겠습니다. 저는 얼죽아이기 때문에 오늘도 여김없이 아이스 아메리카노를 주문했다고 칩시다. 그럼 이 커피를 주문하고 제작하고 먹는데까지 시간이 분명 걸리겠죠??? 이 때 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wR5ND/btrmadx3dwF/CtUEs8iAHcvT3hL5U4kLK1/img.png)
# 주소 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.util.*; class Point{ int x; int y; int z; Point(int x, int y, int z){ this.x = x; this.y = y; this.z = z; } } public class Main{ public static int[] dx = {1,0,0,-1,0,0}; pu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l6JjF/btrl3LIlvmv/XutY1lUcz46jFpVRukx3uK/img.png)
# 주소 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.awt.Point; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main{ public static int[] dx = {1,0,0,-1}; pu..