2024/12/12 4

[lv2] 시소 짝꿍

https://school.programmers.co.kr/learn/courses/30/lessons/152996 수학 문제다. 완탐시 최대 O( 3^2 * 10만 * 10만)로 불가능하다. 풀이 1. 모든 탐색 대신, 모든 원소를 map으로 기록한다. 2. 원소의 개수 별로 "가능한 쌍의 수" 값이 담긴 누적 합 배열을 구한다.e.g.)원소가 2개 => 쌍의 수 : 1원소가 3개 => 쌍의 수 : 1 + 2 = 3원소가 4개 => 쌍의 수 : 1 + 2 + 3 = 6 3. 누적 합 배열을 바탕으로 map을 순회하며 answer에 값을 누적한다. 4. 중복된 만큼 answer에서 값을 빼준다. e.g.)[100, 100, 100] // answer : 3, wrong answer : 9위의 경우, 3번..

[lv2] k진수에서 소수 개수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/92335# 헤맨 이유 본문 : 예를 들어, 437674을 3진수로 바꾸면 211020101011입니다. 여기서 찾을 수 있는 조건에 맞는 소수는 왼쪽부터 순서대로 211, 2, 11이 있으며, 총 3개입니다. (211, 2, 11을 k진법으로 보았을 때가 아닌, 10진법으로 보았을 때 소수여야 한다는 점에 주의합니다.)=> 숫자를 10진수로 변환하라는 뜻으로 착각 (10진법으로 표시된 수로 여기라는 뜻이었다.) 놓친 것소수에는 1이 포함되지 않음 class Solution { public int solution(int n, int k) { return getCnt(Integer.to..