k진수에서 소수의 개수 구하기
문제 설명
양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다.
1. 0P0처럼 소수 양쪽에 0이 있는 경우
2. P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우
3. 0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우
4. P처럼 소수 양쪽에 아무것도 없는 경우
5. 단, P는 각 자릿수에 0을 포함하지 않는 소수입니다.
이렇게 되어있을때 문제가 좀 복잡해보이지만, 0으로 문자열을 분리하게되었을 때 나오는 숫자들이 소수인지만 확인하면 된다.
여기서 분리를 하던 중에 0이 중첩되어 ''가 선언되는 경우가 있기 때문에 이를 제외한다.
그리고 for문을 반복하면서 값을 처리하게 되는데, 이때 1은 자기 자신으로 나누어 떨어지더라도 소수가 아니기 때문에 무시하고 만약 다른 값이 나오게 되면 이것이 소수인지 확인하여 소수라면 이 값을 출력하도록 한다.
랭킹 점수별로 랭킹 순위를 구분짓도록 만들었다.
유저 개인의 랭크를 조회할 때도 마찬가지로 현재 유저의 순위를 알아내기 위해서 for in문을 사용했다.