JAVA_LeetCode 400_Nth Digit 풀이 class Solution { public int findNthDigit(int n) { // 오버플로우 방지 → long 사용 long targetN = n; long length = 1; // 숫자의 자릿수(1자리, 2자리...) long count = 9; // 해당 자릿수를 가진 숫자의 개수(9, 90, 900...) long start = 1; // 해당 자릿수가 시작되는 숫자(1, 10, 100...) // n이 위치한 자릿수 구간(length) 찾기 → 1의 자리는 총 9, 2의자리는 총 180, 3의자리는 총 2700 while(targetN > length * count){ targetN -= length * count; // 자릿수별 총 칸수를 빼주기 length++; // 자릿수 증가 count *= 10; // 숫자 개수 증가 start *= 10; // 시작 숫자 증가 } // n번째 숫자가 포함된 실제 ...
원문 링크 : JAVA_LeetCode 400_Nth Digit