static 무엇인가?
static 무엇인가?Java에서 Static 키워드를 사용한다는 것은 메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미합니다.이를 정확히 이해하기 위해서는 메모리 영역에 대한 이해가 필요합니다.
일반적으로 우리가 만든 Class는 Static 영역에 생성되고, new 연산을 통해 생성한 객체는 Heap영역에 생성됩니다.
객체의 생성시에 할당된 Heap영역의 메모리는 Garbage Collector를 통해 수시로 관리를 받습니다.
하지만 Static 키워드를 통해 Static 영역에 할당된 메모리는 모든 객체가 공유하는 메모리라는 장점을 지니지만,
Garbage Collector의 관리 영역 밖에 존재하므로 Static을 자주 사용하면 프로그램의 종료시까지 메모리가 할당된 채로 존재하므로 자주 사용하게 되면 시스템의 퍼포먼스에 악영향을 주게 됩니다.
정적 멤버 (정적필드 - Static변수 / 정적메소드 - Static메소드 / 정적클래스 - Static 클래스)
...
LV1. 폰켓몬
문제 1. 폰켓몬문제 설명당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다.
첫 번째(3번), 두 번째(1번) 폰켓몬을 선택
첫 번째(3번), 세 번째(2번) 폰켓몬을 선택
첫 번째(3번), 네 번째(3번) 폰켓몬을 선택
두 번째(1번), 세 번째(2번) 폰켓몬을 선택
두 번째(1번), 네 번째(3번) 폰켓몬을 선택
세 번째(2번), 네 번째 ...
LV1. 암호 관련 문제
문제 1. 시저 암호문제 설명어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 “AB”는 1만큼 밀면 “BC”가 되고, 3만큼 밀면 “DE”가 됩니다. “z”는 1만큼 밀면 “a”가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.
제한 조건
공백은 아무리 밀어도 공백입니다.
s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다.
s의 길이는 8000이하입니다.
n은 1 이상, 25이하인 자연수입니다.
입출력 예
s
n
result
“AB”
1
“BC”
“z”
1
“a”
“a B z”
4
“e F d”
답안123456789101112131415161718192021222324252627282930313233343536373839404142434445class Solution { static String Lowe ...
LV1. 3진법 뒤집기
3진법 뒤집기문제자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예
n
result
45
7
125
229
입출력 예 #1
n (10진법)
n (3진법)
앞뒤 반전(3진법)
10진법으로 표현
45
1200
0021
7
따라서 7을 return 해야 합니다.
입출력 예 #2
n (10진법)
n (3진법)
앞뒤 반전(3진법)
10진법으로 표현
125
11122
22111
229
따라서 229를 return 해야 합니다.
답안1234567891011121314151617181920212223242526272829303132333435363738394041class Solution { public int solution(int n) { ...
LV2. 단체사진 찍기
단체사진찍기문제가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다.그런데 각자가 원하는 배치가 모두 달라 어떤 순서로 설지 정하는데 시간이 오래 걸렸다.네오는 프로도와 나란히 서기를 원했고, 튜브가 뿜은 불을 맞은 적이 있던 라이언은 튜브에게서 적어도 세 칸 이상 떨어져서 서기를 원했다.사진을 찍고 나서 돌아오는 길에, 무지는 모두가 원하는 조건을 만족하면서도 다르게 서는 방법이 있지 않았을까 생각해보게 되었다.각 프렌즈가 원하는 조건을 입력으로 받았을 때 모든 조건을 만족할 수 있도록 서는 경우의 수를 계산하는 프로그램을 작성해보자.
제한사항
입력은 조건의 개수를 나타내는 정수 n과 n개의 원소로 구성된 문자열 배열 data로 주어진다. data의 원소는 각 프렌즈가 원하는 조건이 N~F=0과 같은 형태의 문자열로 구성되어 있다. 제한조건은 아래와 같다.
1 <= n <= 100
dat ...
LV1. 소수만들기
소수 만들기문제주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.
제한사항
nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다.
nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다.
입출력 예
nums
result
[1,2,3,4]
1
[1,2,7,6,4]
4
답안1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162class Solution { public int solution(int[] nums) { ...
Lv.1 음양 더하기
문제어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한사항
absolutes의 길이는 1 이상 1,000 이하입니다.
absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
signs의 길이는 absolutes의 길이와 같습니다.
signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
입출력 예
absolutes
signs
result
[4,7,12]
[true,false,true]
9
[1,2,3]
[false,false,true]
0
답안123456789101112131415class Solution { public int solution(int[] absolutes, b ...
LV.1 없는 숫자 더하기
없는 숫자 더하기문제0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ numbers의 길이 ≤ 9
0 ≤ numbers의 모든 원소 ≤ 9
numbers의 모든 원소는 서로 다릅니다.
입출력 예
numbers
result
[1,2,3,4,6,7,8,0]
14
[5,8,4,0,6,7,9]
6
답안12345678910111213141516171819202122import java.util.*;class Solution { public int solution(int[] numbers) { int answer = 0; Arrays.sort(numbers); // 정렬 // 1~9까지 돌아가면서 해당 요소 ...
LV.1 실패율
실패율문제퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다.
이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라.
실패율은 다음과 같이 정의한다.스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함수를 완성하라.
제한사항
스테이지의 개수 N은 1 이상 500 ...
유통산업 뭘까?
유통의 정의 및 기능
유통은 “생산자로부터 소비자로 재화와 서비스를 이전시킴으로써장소 및 시간의 효용성을 창조하는 활동” 입니다.
생산기능과 소비기능 사이에서 생산물을 이동시키는 과정으로서 경제적 가치를 지니고 있습니다..
유통산업은 생산과 소비를 원활하게 연결함으로써 제조업의 경쟁력을 높이고 소비자의 편익을 증진하는 역할을 수행합니다.
유통산업의 동향
선진국에서는 대형업체간의 M&A나 전략적 제휴를 통해 유통기업이 거대화하고 있습니다. (업체는 줄어들지만 종사자 수는 늘어남)
소매기업을 중심으로 제조업체, 물류업체 등 전후방 연계기업이 IT에 기반을 둔 SCM / B2B 네트워크 구축 등 정보화를 핵심 역량으로 활용중 입니다.
국내 유통산업의 현황
우리나라 유통산업은 1996년 유통시장 개방 이후 백화점, 재래시장 중심의 이중 구조에서 대형마트, 무점포판매업 등 다변화된 구조로 변화하였으며, 또한 대형업체가 주도하는 “기업형 유통”으로 전환되고 있습니다..
대형마 ...