본문 바로가기

문자열5

Programmers - k진수에서 소수 개수 구하기(Java) https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 풀이 해당 문제를 풀기위해서는 아래의 3단계가 필요함 k진수 변환 0P0, P0, 0P, P의 수 찾기 -> 0을 기준으로 구분되는 수 소수인지 확인 k진수 변환 주어진 입력 값을 k 진수로 변환 입력 값을 0이 될때까지 k로 나눈뒤 나머지를 String에 삽입 모든 삽입이 끝나면, String을 반대로 뒤집으.. 2022. 1. 21.
Programmers - 신고 결과 받기(Java) https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 풀이 풀이에 필요한 Map 정의 및 초기화 key는 유저아이디, value는 key를 신고한 유저의 아이디의 Set을 가진 Map 동일한 유저에 대한 신고횟수는 1회로 처리하기 때문에 중복을 없애기 위해 Set을 Value로 함 key는 유저아이디, value는 임의의 인덱스를 가진 Map을 정의 int[] answer = new int[id_list.l.. 2022. 1. 21.
Programmers - 문자열 압축(Java) https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 풀이 같은 값이 연속해서 나타나는 경우 반복되는 갯수를 표기하며 줄여서 표기 ex) aaa -> 3a * 단, 정해진 길이가 반복되는 경우만 압축가능 ex) aabbb -> 2a3b(X) -> 2a2bb(O) * 완전 탐색으로 가장 작은 길이의 결과를 구하되, 탐색의 범위를 줄이는 것이 필요 주어지는 문자열의 길이를 이용하여 최대 압축 길이를 구함, 이 .. 2021. 12. 16.
Programmers - 불량 사용장(Python) https://programmers.co.kr/learn/courses/30/lessons/64064?language=python3 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 풀이 유저 ID를 불량 아이디 개수에 맞게 조합하여 탐색 - 매칭되는 유저와 불량 아이디의 길이가 같아야함 - 불량 사용자와 유저의 문자를 비교 - 불량 사용자의 문자가 '*'이 아니라면 유저와 같은 문자여야함 * 위의 조건에 부합하고 현재 조합된 유저 아이디가 List에 없다면 List에 추가 from itertools impor.. 2021. 10. 4.
Programmers - 문자열 압축(Python) https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 풀이 1 ~ s의 길이//2 만큼 단위를 늘려가면서 탐색 단위 만큼 확인 하면서 같다면 cnt갱신 다르면 cnt를 포함한 단위 문자열을 추가 def solution(s): MIN=int(987654321) length=len(s) if(len(s)==1): return 1; for cut in range(1, length//2+1): # 문자열 단위 1 .. 2021. 9. 6.