[Programmers] #120841 - 점의 위치 구하기 [Java][C++][Python]
문제 링크 1. 아이디어 점이 축 위에 놓이지 않음이 보장되므로, x와 y가 각각 양수인지 음수인지만 따지면 사분면이 하나로 정해진다. x가 양수면 y가 양수일 때 1사분면, 음수일 때 4사분면이다. x가 음수면 y가 양수일 때 2사분면, 음수일 때 3사분면이다. 2. 복잡도 접근 시간...
문제 링크 1. 아이디어 점이 축 위에 놓이지 않음이 보장되므로, x와 y가 각각 양수인지 음수인지만 따지면 사분면이 하나로 정해진다. x가 양수면 y가 양수일 때 1사분면, 음수일 때 4사분면이다. x가 음수면 y가 양수일 때 2사분면, 음수일 때 3사분면이다. 2. 복잡도 접근 시간...
문제 링크 1. 아이디어 $(x_1 \lor x_2) \land (x_3 \lor x_4)$ 식을 언어의 논리 연산자로 그대로 옮기면 되는 문제다. x1, x2 중 하나라도 참이면 앞쪽 조건이 참이 되고, x3, x4 중 하나라도 참이면 뒤쪽 조건이 참이 되며, 두 조건이 모두 참일 때만 전체 결과가 참이 된다. 2. 복잡도 ...
문제 링크 1. 아이디어 a, b, c, d 네 값이 얼마나 겹치는지에 따라 점수 계산식이 다르므로, 겹치는 값이 많은 경우부터 순서대로 조건을 검사해 분기 처리를 했다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ $O(1)...
문제 링크 1. 아이디어 index_list를 순회하며 my_string에서 해당 인덱스의 문자를 하나씩 이어 붙이면, 인덱스가 가리키는 순서대로 재배열된 문자열을 만들 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ ...
문제 링크 1. 아이디어 음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같다는 성질을 이용하는 문제다. number의 길이가 최대 100,000이라 정수형으로 직접 변환하면 오버플로우가 발생하므로, 각 문자를 순회하며 숫자로 변환해 합산한 뒤 9로 나눈 나머지를 반환하면 된다. 2. 복잡도 ...
문제 링크 1. 아이디어 queries에 담긴 [s, e] 구간들을 순서대로 하나씩 뒤집어 나가면 되는 문제다. 각 쿼리마다 s와 e를 양 끝에서 좁혀오는 투 포인터로 두 문자를 맞바꾸면 해당 구간이 뒤집히고, 이를 쿼리 개수만큼 반복하면 최종 문자열이 완성된다. 2. 복잡도 접근 시간 ...
문제 링크 1. 아이디어 문자열 배열 intStrs의 각 원소에서 인덱스 s부터 길이 l만큼의 부분 문자열을 잘라 정수로 변환하고, 그 값이 k보다 큰 경우만 배열에 담아서 반환하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N \ti...
문제 링크 1. 아이디어 my_strings[i]에서 parts[i]의 두 값 $s$, $e$가 가리키는 인덱스 $s$부터 $e$까지 닫힌 구간의 부분 문자열을 잘라내고, 이를 순서대로 이어 붙여 반환하면 된다. 2. 복잡도 접근 시간 공간 풀이 ...
문제 링크 1. 아이디어 my_string의 뒤 n글자를 반환하는 문제다. 전체 길이에서 n을 뺀 인덱스부터 끝까지의 부분 문자열이 곧 답이므로, 그 구간을 그대로 잘라 반환하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ ...
문제 링크 1. 아이디어 문자열의 접미사는 시작 인덱스로 구분되므로, 인덱스 0부터 마지막 인덱스까지 각 위치를 시작점으로 하는 부분 문자열을 전부 만들면 모든 접미사를 빠짐없이 얻을 수 있다. 모든 접미사를 구해 배열에 담은 후 정렬해서 반환하면 된다. 2. 복잡도 접근 시간 공간 ...