본문 바로가기

코딩테스트

[프로그래머스(Programmers)/Level2](Python) 스킬트리 스킬에 해당하는 인덱스를 따로 두어서 입력받은 스킬들이 담긴 리스트를 순회하며 각각의 문자열에 대해서도 문자단위 로 순회하며 중간에 스킬순서에 해당하지 않는 문자들은 제외하고, 제시한 스킬순서대로 가고 있는지 index를 증가시키며 확인하다가 틀리면 break를 걸고 flag에 변화를 줘서 count하지 않으면 결국 answer에는 스킬순서대로 배운 스킬트리들 의 갯수가 담기게 된다. 별도의 인덱스를 유지하며 푸는 방법을 배웠다. 더보기
[프로그래머스(Programmers) /Level2](Python) 큰 수 만들기 문자열의 길이만큼 for문을 돌며 해당 인덱스의 문자가 리스트의 마지막 원소보다 작거나 같으면 리스트에 넣어주고, 보다 크면 경우를 나눠서 리스트의 마지막 원소부터 역으로 순회하며 리스트의 각 원소보다 크면 해당 원소를 리스트에서 제거, k를 1감소 시켜준다. 이때, k가 0이되면 break로 탈출시킨다. 만약 answer의 j번째 원소가 number[i]보다 크면 리스트에 number[i]를 추가시키고 break를 걸어준다. flag를 둔 이유는 for문의 끝까지 number[i]가 추가 되지 않았을경우 추가 해 주기 위함이다. 이렇게 이중 포문을 돌게 되면 원하는 결과값인 k개의 수를 제거한 최대값이 나오거나 내림차순으로 정렬된 answer 리스트가 만들어 지는데 마지막으로 k가 0이될때 까지 pop.. 더보기