PS/프로그래머스 24

[Python] 덧칠하기

✏️ 문제 문제 파악앞에서 부터 차례대로 for 반복문 돌면서 칠해야 하는 구역을 발견했을 때 경우를 두 가지로 나눠야 한다.룰러가 벽에서 벗어나면 안되므로칠해야 하는 구역 + (m-1) 칠해야 하는 구역 + (m-1) > n - 11번 같은 경우는 룰러의 길이만큼 칠한다.2번 같은 경우는 칠해야 하는 구역보다 앞에 있는 구역은 다 칠해져 있으므로 해당 구역부터 배열의 끝까지 칠하면 된다. 이때 인덱스 0부터 4까지 1을 대입하는 코드는 다음과 같다.ary[0:5] = [1] * 5   코드def solution(n, m, section): wall = [1] * n answer = 0 for s in section: wall[s-1] = 0 for i..

[Python] 카드 뭉치

✏️ 문제 문제 파악처음에는 차례대로 있는 지가 중요한 거니까 cards1과 cards2의 카드들이 goal에 나타나는 순서와 일치하는지 확인하는 코드를 짰다.goal에 나타나는 cards1과 cards2 카드들이 각각 올바른 순서대로 존재한다면 "Yes"를 반환하고 순서가 틀리면 "No"를 반환하도록 했는데 20, 21, 24, 25번 테스트에서 런타임 에러가 떴었다 .. 딕셔너리를 써서 제출해도 똑같았다..  그래서 goal의 배열 값이 cards1 또는 cards2에 있다면 맨 앞 값을 없애는.. 방향으로 코드를 짰다.이때 배열의 맨 앞 값을 없애는 코드는 다음과 같다.ary.pop(0)   코드런타임 에러 코드def solution(cards1, cards2, goal): for i in r..

[Python] 옹알이 (2)

✏️ 문제 문제 파악woo는 발음할 수 있으나 wo는 발음할 수 없으므로 할 수 있는 발음과 "정확히" 같아야 한다.그래서 babbling의 배열 값에 할 수 있는 발음을 차례대로 제거하는 방향으로 replace를 활용하면 된다. for b in babbling: for l in languge: b = b.replace(l, '') 연속해서 같은 발음을 할 수 없다는 유의사항이 있기 때문에 연속해서 같은 발음이 있다면 바로 발음할 수 없는 것으로 처리해주어야 한다! 중요한 것은 만약 replace로 발음 대신 빈값을 넣으면 ["yayae"]이 입력으로 들어올 시 aya를 제거하면 남은 문자가 ye가 되어 할 수 있는 발음으로 처리된다!!!때문에 할 수 있는 발음 대신에 빈 값이 아닌 다..