문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/77886
시간제한이 10초인 것 같습니다.
알고리즘은 아래와 같습니다.
1. 110은 1로 시작하기 때문에 문자열 내 마지막 0 뒤로 옮기는 것이 사전 순으로 앞에 오게 만드는 방법입니다.
2. 우선 110들을 주어진 문자열에서 제거하고 몇 개를 제거했는지 카운팅 합니다.
3. 남은 문자열 내 마지막 0 위치를 찾습니다.
3.1 마지막 0이 존재하면 2번에서 제거한 110들을 0 뒤로 이동시킵니다.
3.2 마지막 0이 존재하지 않는다면 문자열이 전부 1로 이루어졌다는 뜻이므로 110을 문자열의 앞에 이동시킵니다.
4. 벡터 내 모든 문자열에 대해 3번을 적용하고 answer 벡터를 반환합니다.
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > programmers' 카테고리의 다른 글
[Programmers] 빛의 경로 사이클 (0) | 2021.10.09 |
---|---|
[Programmers] 없는 숫자 더하기 (0) | 2021.10.08 |
[Programmers] 2개 이하로 다른 비트 (2) | 2021.10.07 |
[Programmers] 괄호 회전하기 (0) | 2021.10.06 |
[Programmers] 약수의 개수와 덧셈 (0) | 2021.10.06 |