본문 바로가기
728x90
반응형

알고리즘/코딩테스트 문제풀이4

[2020 KAKAO BLIND] 문자열 압축 / 사용언어 : 파이썬(python) ※ 문제링크 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr ※ 관련개념 Sliding Window 알아두면 유용할 알고리즘을 하나 소개해본다 !!! velog.io 해당문제는 투 포인터와 슬라이딩 윈도우의 개념을 활용해서 풀 수 있는 문제였다. 문제의 조건 중에 처음 문자열부터 기준으로 정해진 길이만큼 슬라이싱을 해야한다고 주어졌기에 중간부터 값이 묶이는 상황을 고려하지 않아도 되었다. 알고리즘 구상 자체는 정해진 길이만큼 슬라이싱을 반복해서 비교 후 중복횟수를 카운트해서 압축 후 문자열의 상태를 만.. 2022. 6. 24.
[2021 Dev-Matching] 로또의 최고순위와 최저순위 ※ 문제링크 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 이번 문제는 정렬과 조건문, 반복문을 활용하면 풀 수 있는 문제였다. 주어지는 입력값 자체가 많지도 않고, 예외적인 조건도 거의 없어서 문제의 조건대로만 작성하면 답을 구할 수 있었다. 고려해야할 조건은 일치 숫자가 2개 이상일때부터 등수가 일치 숫자마다 하나씩 올라간다는 것이었고, 나머지는 0의 개수를 확인하여 계산식에 반영해주었다. 자세한 풀이방법과 코드는 아래와 같다. 1. 입력받은 값들을 sort.. 2022. 6. 22.
[2021 KAKAO BLIND] 신규아이디 추천 / 사용언어 : 파이썬(python) ※ 문제링크 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 이번 문제는 주어진 조건에 따라 반복문, 조건식, re모듈, 정규표현식을 사용하면 풀 수 있는 문제였다. 각각의 단계별로 하나하나씩 사용해야할 문제풀이방법을 구상한 후 순서대로 알고리즘을 구성하였으며, 작성 후 테스트 결과 큰 문제없이 작동하는 것을 확인하였다. 자세한 풀이방법과 코드는 아래와 같으며, 코드 자체에 풀이방법에 대한 내용을 포함하여 아래 코드를 참조하면 좋을 듯하다. # 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환.. 2022. 6. 5.
[2022 KAKAO BLIND] 신고결과 받기 / 사용언어 : 파이썬(python) ※ 문제링크 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 해당 문제는 반복문에 대한 이해와 배열의 인덱스를 활용할 수 있으면 쉽게해결할 수 있는 문제였다. 시간을 절약하기 위해서는 배열의요소들을 호출하고 결과값을 확인할때 정확한 인덱스 값을 이용하여 호출하는 과정이 필요하다 판단했기 때문에 신고를 당한 횟수를 확인할 리스트와 신고를 한 사람의 인덱스번호를 저장할 리스트를 생성하여 문제를 해결하였다. 또한 한명의 사람이 동일한 사람을 여러번 신고해도 1번의 신고로 취급한다라는 조건이 있었기 때문에 중.. 2022. 4. 24.
728x90
반응형