[프로그래머스] 문자열 나누기
·
Coding Test/Programmers_Python
문제 코드 설계 유의사항 1. 첫 글자를 담고, 이를 세는 변수 추가, 다음 글자가 같다면 새로 담지 않고 세는 변수를 1 증가 2. 첫 글자와 다른 글자가 나온 횟수 변수 추가, 첫 글자 count 변수과 값이 같아지면 첫 번째 문자 값을 옮긴 후 분리하기 3. 분리 할 때마다 이를 세는 변수를 증가시키고, 분해하지 못하면 종료하기 코드 # 풀이 추가 def solution(s): # count 할 배열 미리 생성, 처음에는 첫 번째 글자 저장 # 두 번째와 세 번째에는 각각 s[0]과 동일하고, 다른 문자를 세는 자리이다 answer = 0 count = [s[0], 0, 0] # count에 저장된 변수들의 조건에 맞게 작성하고 문제에 나온 조건에 따라 마지막에 한 번 더 분리한다 for i in ..
[프로그래머스] 2021 KAKAO BLIND RECRUITMENT - 신규 아이디 추천
·
Coding Test/Programmers_Python
문제 카카오 아이디 규칙에 맞게 추천 1. 아이디의 길이는 3자 이상 15자 이하 2. 아이디는 알파벳 소문자, 숫자, 빼기( - ), 언더바( _ ), 마침표( . )만 사용가능 3. 마침표( . )는 처음과 끝에 사용하지 못하며 연속으로 사용 불가능하다 신규 유저가 입력한 new_id가 규칙에 맞지 않다면 아래와 같이 추천 1. new_id의 모든 대문자를 소문자로 치환 2. new_id에서 알파벳 소문자, 숫자, 빼기( - ), 밑줄( _ ), 마침표( . )를 제외한 모든 문자 제거 3. new_id에서 마침표( . )가 두 번 이상 연속 된 부분을 하나의 마침표( . )로 치환 4. new_id에서 마침표( . )가 처음이나 끝에 위치한다면 제거 5. new_id가 빈 문자열이라면 new_id에..
[프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기 게임
·
Coding Test/Programmers_Python
문제를 제대로 파악한 후 시나리오를 미리 따로 적어두고 코드를 작성하면 크게 어렵지 않게 풀 수 있는 문제인 것 같다 문제 화면의 구성, 규칙을 다음과 같이 설정 할 예정이다 1. 게임 화면은 N x N 크기의 격자이다 2. 위쪽에는 크레인이 있고, 오른쪽에는 바구니가 있다 3. 각 격자마다 다른 속성의 인형이 있고, 인형이 없는 칸은 공백이다 4. 각 인형들은 아래에서부터 차곡차곡 쌓여있다 5. 크레인을 멈춘 위치에서 인형을 들어올릴 수 있다 6. 집어올린 인형이 바구니에 들어가면 아래에서 부터 쌓인다 7. 바구니에 같은 속성의 두 개의 인형이 두 개 붙으면 사라진다 8. 바구니는 모든 인형이 들어갈 정도로 크다 무엇을 확인해야할까? 1. board 배열은 N x N 형태로 ( 5
[프로그래머스] 2020 카카오 인턴십 - 키패드 누르기
·
Coding Test/Programmers_Python
키패드를 누르는 카카오 인턴십 문제이다. 방법을 알면 쉽게 해결이 가능하지만 제한사항을 놓칠 경우 해결하기 힘들다는 특징이 있다 문제 1. 키패드에서 왼손과 오른손 엄지손가락만을 이용해서 숫자만 입력하려고 한다 2. 왼엄지와 오른엄지는 각각 '*', '#'에 초기 위치를 잡는다 3. [1, 4, 7]은 왼손 엄지로만 누르고, [3, 6, 9]는 오른 엄지로만 누른다 4. [2, 5, 8, 0]은 둘 다 누를 수 있고, 보통은 더 가까운 쪽의 엄지를 이용해서 누른다 5. 숫자와 두 손가락 간의 거리가 같을 경우에는 hand에 적힌 주 사용 손으로 누른다 (왼손잡이, 오른손잡이) 6. 누른 손을 L 또는 R을 이용해서 나타내고 연속적인 문자열로 return하는 문제이다 무엇을 확인해야할까? 1. 키패드 각각..
BaekJoon - 6550번: 부분 문자열 (문자열, 그리디 알고리즘)
·
Coding Test/BaekJoon_Python
분명 모든 테스트 케이스는 다 제대로 된 답변이 뜨는데 왜 이 문제는 정답이 아니라고 할까? 라고 생각을 했었다 하지만 이는 문제를 또다시 제대로 읽지 못 한 나의 잘못으로 인해 쌩 고생을 하게 되었고, 결국 생각지도 못한 곳에서 해결방법을 찾아내었다 문제 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net 문제 발생 지점 여기서 나는 모든 케이스에 대한 알고리즘을 잘 풀었었다 하지만 '입력은 여러 개의 테스트 케이스로 이루어져 있다'에 대한 부분을 간과하였고, 이 부분을 해결하자 문제가 해결되었다 코드 작성 # 풀이..
BaekJoon - 14584번: 암호 해독 (문자열, 브루트포스 알고리즘)
·
Coding Test/BaekJoon_Python
SW 마에스트로 1차코테 문제집의 두 개 있는 암호 해독 문제 중 첫 번째이다 1차코테인데 어렵겠어? 하고 들어갔다가 1시간을 붙잡고 있는 대참사가 벌어졌었다 문제 14584번: 암호 해독 로마의 장군 카이사르는 로마군의 작전을 적이 모르게 하기 위하여 암호를 사용했다. 카이사르는 다음과 같이 문장에 있는 모든 알파벳 글자를 몇 칸 뒤의 알파벳으로 바꾸는 방식으로 암호를 www.acmicpc.net 문제해석 문제 잘 읽어보기 문제 초반에 나와있는 17칸 뒤를 믿지 말 것 당신은 카이사르가 어떤 방법으로 문장을 암호화하는지는 알고 있지만 카이사르가 몇 칸 뒤의 알파벳으로 바꾸는지는 모른다. -> 결론은 알파벳을 하나씩 뒤로 밀어보면서 대조 해보아야 한다 N개의 사전 단어 중 하나라도 들어가 있다면 조건 충..