문제 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(int[] nums) { HashMap hashMap = new HashMap(); for(int i=0;i hashMap.size() ? hashMap.size() : nums.length/2; return answer; } }
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { static boolean visited[]; static Set set = new HashSet(); public int solution(String numbers) { int answer = 0; visited = new boolean[numbers.length()]; back(numbers, ""); Iterator..
Call By Value 함수가 호출될 때, 메모리 공간 안에서는 함수를 위한 별도의 임시 공간이 생성된다. (c++의 경우 stack frame) 함수가 종료되면 해당 공간은 사라진다. 스택 프레임(Stack Frame) : 함수 호출시 할당되는 메모리 블록(지역변수의 선언으로 인해 할당되는 메모리 블록) call-by-value 값에 의한 호출방식은 함수 호출시 전달되는 변수의 값을 복사하여 함수의 인자로 전달한다. 복사된 인자는 함수 안에서 지역적으로 사용되는 local value의 특성을 가진다. 따라서 함수 안에서 인자의 값이 변경되어도, 외부의 변수의 값은 변경되지 않는다. Java의 경우 함수에 전달되는 인자의 데이터 타입에 따라서 (원시자료형 / 참조자료형) 함수 호출 방식이 달라진다. 원..
JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능 값 타입 int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 식별자가 없고 값만 있으므로 변경시 추적 불가 예) 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체 값 타입 분류 기본 값 타입basic value type 자바 기본 타입(int, double) 래퍼 클래스(Integer, Double) String 임베디드 타입embeded type(복합 값 타입) 컬렉션 값 타입collection value type 기본 값 타입 예): String name, int age 생명주기..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 매우 단순한 문제인데 삽질했다. 가로, 세로에 얽메이지 않고 그냥 가로는 긴거 세로는 짧은거라고 생각하고 각 이차원 배열에서 가로 길게, 세로 짧게 만들어 준다음 최대값을 구해서 곱해주면 된다. 너무 어렵게 생각해서 문제 푸는데 애먹었다. 코드 class Solution { public int solution(int[][] sizes) { int w = 0; int h = 0; for(..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42746 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제에서 배열의 길이는 100,000 이하이며 원소는 1,000이하의 수가 된다. 이럴 경우 백트레킹은 시간 초과로 풀이 하지 못하며, 자료형을 이용해서 풀이할 수 없다. 따라서 String 리스트를 만들어 정렬을 해주도록 했다. 정렬을 할 경우에는 두 수를 조합했을 때 더 큰수가 되도록 정렬을 하면 된다. 코드 import java.util.*; class Solution { publ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/62048# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 풀이1. 문제의 예제 그림을 회전시키면 보기 쉽게 바꿀 수 있다. 패턴이 반복되어 나타나므로 패턴을 잘라 자세히 살펴보자 패턴을 잘랐을때의 가로를 W', 세로를 H'라고 해보자. W'가 1 증가할 때마다 흰사각형이 1 증가하는 것을 확인할 수 있다. 또한, 선이 가로선을 지날때 흰사각형이 1 증가한다. 가로선의 개수는 H' - 1 이 된다. 즉, 이를 식으로 나타내면 W' + H' -..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int[] solution(int[] array, int[][] commands) { int [] answer = new int [commands.length]; for(int i=0;i
문제 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 글자가 하나씩 바뀐다고 한다. => 글자들이 이어져 있다 => bfs 문제라 생각하고 문제를 풀었다. bfs를 할 때 가장 고민이었던것이 while문 안에를 어떻게 설계하냐였다. 처음 풀 때는 단어의 길이도 최대 10이고 words의 개수도 최대 50이여서 단순하게 생각하였다. 단어의 각 문자마다 'a'부터 'z'까지 변경하여 words 배열에 있는지 확인하고 있으면 que에 넣는 식으..