코딩테스트 공부

https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이렇게 첫 번째 영역이 주어지면 쿼드 트리와 같은 방식으로 압축하는 것 입니다. 결국 0의 갯수는 4개, 1의 갯수는 9개 입니다. 문제 해결 방법 재귀를 사용해서 풀어야 하는 문제입니다. 똑같은 공간으로 계속 나누므로 적절하게 점화시막만 잘 만들면 쉽게 풀 수 있을 것 같습니다. 이 문제는 정사각형으로 계속해서 분할하면서 정사각형 안이 모두 0이거나 1이면 합치는 형식입니다. (off..
코딩 테스트를 볼 때 문자열을 가지고 장난치는 문제가 상당히 많이 나옵니다. 문자열 문제가 나왔을 때 대처할만한 메서드들을 공부해 보려고 합니다. 문자에 대해 문자의 배열 String.charAt(int index) // 문자 하나를 가져온다. String.toCharArray() // 모든 문자를 한 번에 배열로 가져온다. charAt은 하나하나씩 호출하므로 메서드 호출에 따른 오버헤드가 있습니다. toCharArray()는 문자열 길이에 해당하는 메모리를 사용합니다. 아스키코드 아스키코드도 문제를 풀 때 정말 많이 사용했습니다. 특히 Char를 int로 바꿀 때 자주 사용했습니다. char digit = '10'; int digitToInt = digit - '0'; 대문자를 소문자로 소문자를 대문자..
https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이런 배열이 주어지면 이런 2차원 배열이 생기고 위 조건을 만족하는지 따져봐야 합니다. P와 P의 거리가 맨해튼 거리 2 이하인지 찾고 만약 2보다 크면 거리두기를 만족한 것입니다. 2보다 작은데 사이에 X가 없으면 거리두기를 만족하지 못한 것이므로 거리두기를 만족하지 못한 것 입니다. 문제에 대한 아이디어 import java.util.ArrayList; class Node{ int ..
https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 이렇게 삼각형으로 된 피라미드 모양이 있을 때, 순서대로 움직이면서 일차원 배열에 숫자를 집어넣습니다. 아래로, 오른쪽으로, 대각선 위 순서로 움직입니다. 이 순서로 움직이면 이런 1차원 배열이 나옵니다. 문제에 대한 아이디어 간단하게 생각해 보면 아래 방향으로 움직이고 오른쪽으로 가고 그다음 대각선 위로 가면 됩니다. 2차원 배열을 하나 만들어 절반만 사용해서 문제를 해결하면 쉽게 풀..
https://school.programmers.co.kr/learn/courses/30/lessons/87377 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 이렇게 식이 주어지면 이 함수들을 좌표에 그려본다. 그럼 이 상태가 되고 교점이 5개가 생긴다. 이 교점들 중 (x, y)가 정수인 좌표를 구한다. 이 결과를 이렇게 최소의 크기의 격자판으로 출력한다. 해결 과정 이 문제의 아래 부분을 보면 힌트를 준다. 이렇게 교점이 한개만 생길 때가 언제인지 알려준다. 두 개의 직선 이므로 교점은 하나만 생긴다. 만약 AD - BC가 0이라면 교점이 ..
https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입국심사 입국심사를 기다리는 사람이 n명, 심사를 해줄 수 있는 사람이 times 배열에 들어 있다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 해야 한다. 가장 앞에 서 있는 사람이 비어 있는 심사대로 가서 심사를 받을 수 있다. 더 빨리 끝나는 심사대가 있으면 그곳으로 가도 된다. 예제의 예로 살펴보면 10분동안 7, 10 -> 2명 심사 완료 다음 14분에 -> 3명 심사 완료 20분에..
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 공항 ICN에서 출발해서 모든 노드들을 들려야 한다. 그리고 모든 티켓을 사용해야 한다. ICN에서 출발해서 JFK -> HND -> IAD 이렇게 하면 모든 티켓을 사용할 수 있다. 이때 가능한 경로가 2개라면 알파벳 순서가 앞서는 경로를 return 한다. 문제에 대한 아이디어 String으로 되어 있는 각 노드들을 Integer로 바꿔 주어야 한다 ticket을 알파벳 순서대로 번..
https://school.programmers.co.kr/learn/courses/30/lessons/76503# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제에 대한 아이디어 위의 그림과 다르게 0이 root인 트리로 만들어봤다. 위 문제를 보면 어떤 노드를 루트로 선택하든 문제가 없어 보인다. 나는 가장 쉽게 노드 0을 선택해서 위의 그림처럼 트리를 만들었다. 고민을 하다가 생각해 낸 방법은 "모든 노드를 0으로 만들려면 리프 노드부터 0으로 만들면 되지 않을까" 였다. 리프 노드의 값을 parent로 보내 버린다. 즉 (2,2)와 ..
Wooooong!!
'코딩테스트 공부' 카테고리의 글 목록 (3 Page)