전체 글
![[Java] Java 배열 깊은 복사 & 얕은 복사 / Deep Copy & Shallow Copy / Java 객체 배열 복사](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcceLUq%2FbtqSxC0jlGe%2F1m9dWGwaeV0AQWIyXmVGqk%2Fimg.png)
[Java] Java 배열 깊은 복사 & 얕은 복사 / Deep Copy & Shallow Copy / Java 객체 배열 복사
👀 깊은 복사 / 얕은 복사 👀 1.얕은 복사 : 복사한 배열이 원래 배열의 '주솟값'을 가져옴 2.깊은 복사 : 복사한 배열이 원래 배열을 '그대로' 가져옴 Java의 배열 복사에는 깊은 복사(Deep Copy)와 얕은 복사(Shallow Copy)가 있습니다. 얕은 복사는 단순한 변수 선언을 통한 복사의 형태로, 복사하려는 배열의 주솟값을 가져오게됩니다. 그래서 복사한 배열을 수정하게 될 경우, 원래 배열 또한 수정되는 결과를 얻게 됩니다. 깊은 복사는 원래 배열을 그대로 가져와 새 배열에 덮어쓰기 하는 것입니다. 따라서 복사한 배열을 수정하더라도, 원래 배열이 수정되는일은 없습니다. 얕은 복사는 차원 상관없이 단순 변수 선언을 통해 사용할 수 있습니다. 반면 깊은 복사는 1차원의 경우 array.c..
![[백준2206] 벽 부수고 이동하기 / Java](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFTHqN%2FbtqSDugkyOz%2FRPwPRdGCE2s5WqrHkYRNG0%2Fimg.png)
[백준2206] 벽 부수고 이동하기 / Java
문제주소 :www.acmicpc.net/problem/2206 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다. 맵이 주어졌을 때, 최단 경로를 구해 내는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000), M(..
![[프로그래머스] 2016년 / Python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ254Y%2FbtqRQRyOj6I%2FCixpNgpvJF3YyGJfZcUnI0%2Fimg.png)
[프로그래머스] 2016년 / Python
문제주소 :programmers.co.kr/learn/courses/30/lessons/12901# 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) ▒ 한줄 개념: 기초 연산 ▒ 기초 연산만 하면 되는 문제입니다. from functool..
![[프로그래머스] 124 나라의 숫자 / Python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf38fY%2FbtqRXH20kwS%2F671rZkWKT9kcBDkSFLP5s0%2Fimg.png)
[프로그래머스] 124 나라의 숫자 / Python
문제주소 :programmers.co.kr/learn/courses/30/lessons/12899# 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법124 나라10진법124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하의 자연수 입니다. ▒ 한..
![[프로그래머스] 크레인 인형뽑기 게임 / Python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWj9Qd%2FbtqRVqAsaaN%2FEcecDmmyzStxRAXiPQeRQ1%2Fimg.png)
[프로그래머스] 크레인 인형뽑기 게임 / Python
문제주소 :programmers.co.kr/learn/courses/30/lessons/64061# 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 ..
![[프로그래머스] 가운데 글자 가져오기 / Python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3oepM%2FbtqRQRZxoeZ%2FwBbeDoINM90eTLBZ1Vo6N0%2Fimg.png)
[프로그래머스] 가운데 글자 가져오기 / Python
문제주소 :programmers.co.kr/learn/courses/30/lessons/12903 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. ▒ 한줄 개념: 배열 슬라이싱 ▒ def solution(s): return s[int(len(s)/2)] if len(s) % 2 == 1 else s[int(len(s)/2)-1:int(len(s)/2)+1] 더 많은 코드 보기(GitHub) : github.com/dwkim-97/CodingTest
![[백준2178] 숨바꼭질 / Java](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2ZNDI%2FbtqRL3TbIxc%2FQ1sAq1WTzEwdtWjbCxKOeK%2Fimg.png)
[백준2178] 숨바꼭질 / Java
문제주소 :www.acmicpc.net/problem/1697 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 예제 입력 ..
![[백준7569] 토마토(3차원) / Java](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdptZXJ%2FbtqRI9eV4TF%2FP1wSSqCZfExDNjUUT5TEq1%2Fimg.png)
[백준7569] 토마토(3차원) / Java
문제주소 :www.acmicpc.net/problem/7569 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며..
![[프로그래머스] 주식가격 / Python (Level 2)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZLrO0%2FbtqRQTvqdG8%2Fr34szAbIvSLHCCJp0QpQS1%2Fimg.png)
[프로그래머스] 주식가격 / Python (Level 2)
문제주소 :programmers.co.kr/learn/courses/30/lessons/42584 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. ▒ 한줄 개념: 선형탐색 후 비교 ▒ 이중 반복문을 통해 선형 탐색 어떤 가격 a 이후에 a 이하의 가격이 나오기 전까지의 count 값 answer에 삽입 만약 스택을 이용한다면 더욱 쉽게 풀 수 있을 것 같습니다. def solution(prices): answer = [] for i in range(..
![[프로그래머스] 베스트앨범 / Python (Level 3)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdx4w5O%2FbtqRVqM0hjC%2FmZvOWVOOb97Qq3HfVkgit0%2Fimg.png)
[프로그래머스] 베스트앨범 / Python (Level 3)
문제주소 :programmers.co.kr/learn/courses/30/lessons/42579 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 genres[i]는 고유..