목록전체 글 (141)
썬키의 개발노트

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 보통 문자열을 자를 때에는 split()을 이용하는데 이 문제에서는 주어진 int타입의 n만큼 문자를 잘라서 배열에 담으라고 했으므로 split() 보다는 substring()을 이용하는게 맞는것 같다고 판단되어 해당 방법으로 문제를 해결했다. TO-DO 1. 문제에서 주어진 반환 타입이 배열인데 몇 개의 원소를 담을건지 애매하므로 List에 substring 값을 담아서 추후에 배열로 변환한다. 2. 최종적으로 잘라낸 문자열의 길이가 0보다 클 때까지 ..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 이 문제 역시 난이도가 0에 해당하는 문제인데 푸는데에 거의 1시간 좀 넘게 썼다. 난이도 0의 4페이지부터는 내가 풀기엔 조금은 난이도가 있는 문제 같다. 아무튼, 처음에는 ArrayList도 사용해보고 String 클래스의 replaceAll도 사용해보고 Set도 사용해봤는데 문제에서 원하는 형식으로 출력이 되지 않아서, 어쩌면 무식한(?) 방법으로 문제를 풀어보았다. TO-DO 1) 알파벳 a부터 z를 원소로 가지고 있는 char타입의 alphabe..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 이 문제 역시 난이도가 레벨 0에 수렴하는데 푸는데에 거의 한 시간 가량 걸렸던 문제이다. 우선, 매개변수로 주어진 n과 가장 가까운 정수를 반환하는게 문제이므로 배열의 각 원소에서 n을 뺀 결과를 절대값으로 변환한 다음, 각 원소들끼리의 그 절대값을 비교하면 되겠다고 생각했다. TO-DO 1) 배열의 각 원소에서 n을 뺀 결과를 절대값으로 변환하고, 그 절대값을 담을 int 타입의 변수(tmp) 만들기 2) tmp와 min 값을 비교해서 min값보다 작..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 나는 for문을 3개 사용해서 매개변수로 주어진 n 이하의 수들의 약수를 구한다음 약수의 갯수가 3개 이상이면 answer의 값이 증가하도록 코드를 짰다. TO-DO 1) n 이하의 수들의 약수를 구하기 위해 int 타입 변수 num의 값을 1로 초기화하고 약수 구하는 과정이 끝나면 num을 증가 시킨다. 2) 약수를 구한 다음에는 약수들을 list에 넣는다. 이 때, 약수의 갯수가 3개 이상이면 answer의 값을 증가 시킨다. 2. 풀이 import ..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 난이도가 레벨 0인 문제인데, 코드를 어떻게 작성해야 할지 30분-1시간 정도 고민했던 문제이다. 내가 내린 결론은 한 판에 6조각이니까 6조각을 사람수(int n)으로 나눴을 때 나머지가 0이 아니면 계속 6조각을 추가하자였다. TO-DO 1. piece라는 int 타입의 변수에 초기값으로 6을 저장 2. piece를 사람수(n)로 나눴을 때 나머지가 0이 아니면 piece에 6조각(1판)을 추가 2. 풀이 class Solution { public i..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 우선, 순서가 바뀐 원소들을 담을 새로운 배열을 생성하고 문자열 direction이 left일 때는 배열 numbers의 0번째 인덱스에 해당하는 원소는 맨 끝으로 이동하고, direction이 right일 때는 배열 numbers의 마지막 인덱스는 맨 앞으로 이동하는점을 염두에 두고 나머지 원소들을 이동시키면 되겠다고 생각했다. TO-DO 1) 순서가 바뀐 원소들을 담을 새로운 배열을 생성하기 2) 문자열에 따라 로직을 달리 실행해야 하므로 for-if..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 문자열을 Char 배열로 전환하고 반복문을 통해 Char 배열의 문자 하나하나를 검색한 후 소문자면 대문자로, 대문자면 소문자로 변환해주는 작업을 해주면 되겠다고 생각했다. TO-DO 1) 문자열을 Char 배열로 변환하기 2) Character 클래스의 메소드를 이용해서 소문자면 대문자로, 대문자면 소문자로 변환하기 2. 코드 class Solution { public String solution(String my_string) { String answ..

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 우선, List를 생성한 다음 매개변수로 주어진 문자열을 Char 배열로 만들고 반복문을 이용, Char 배열 안에서 모음(a,e,i,o,u)이 있으면 List에 넣지 않고 반복문이 끝나면 List를 출력하면 되겠다. 라고 생각했다. TO-DO 1) List 생성 2) 문자열을 Char 배열로 만들기 3) Char 배열에서 모음을 제외한 자음만 List에 넣고 출력하기 2. 코드 import java.util.ArrayList; import java.ut..

3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 링크를 클릭하면 해당 문제로 이동합니다. 1. 접근하기 정수 10개를 입력 받고 42로 나눈 나머지들을 새로운 배열에 담은 뒤, 중복된 값을 제거하고 후에 배열의 길이를 구해주면 답이 되겠다고 생각했다. TO-DO 1) 정수 10개를 담을 배열을 준비한다. 2) 배열의 원소들을 42로 나눈 나머지 값들을 새로운 배열에 담는다. 3) 단, 나머지 값이 같은 원소들은 넣지 않는다. 2. 코드 import java.util.ArrayList; import java.util.List; import java.util.Scanner; publ..

1. 이진 검색(Binary Search)이란? ㆍ정렬되어 있는 데이터에서 원하는 값을 찾는 방법 ㆍ대상 데이터의 중앙값과 찾고자 하는 값을 비교해 데이터의 크기를 절반씩 줄이면서 찾음 ㆍ자료는 정렬된 상태여야 함 2. 검색 과정 ㆍ자료 중앙에 있는 원소를 고름 ㆍ중앙 원소의 값과 찾고자 하는 값을 비교 ㆍ찾고자 하는 값이 중앙 원소의 값보다 작으면 자료의 왼쪽 데이터에 대해서 새로 검색하고, 크다면 자료의 오른쪽 데이터에 대해 새로 검색을 수행 ㆍ 찾고자 하는 값을 찾을 때 까지 반복 3. 이진 검색의 특징 ㆍ검색 범위의 시작점과 종료점을 이용하여 검색을 반복 수행 ㆍ자료에 삽입이나 삭제가 발생하게 되는 경우, 항상 정렬 상태로 유지하는 추가 작업이 필요 4. 시간복잡도 ㆍO(log n) 5. 코드 예..