코딩테스트/프로그래머스
덧칠하기 (c++)
shin0112
2024. 2. 21. 16:19
1. 문제
코딩테스트 연습 - 덧칠하기 | Programmers School
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 풀이
1. 구역을 표시할 크기 n인 vector v 생성 - 다시 칠해야 하는 부분 = 0, 나머지 = 1
2. vector 돌면서 다시 칠해야 하는 부분 확인
- 0이면 `i += m - 1`
- answer++
3. 생각
- 원래는 칠하는 부분 전부 v에 1을 표시하고 넘어가려 했는데, 처음부터 다시 확인할 게 아니면 그냥 index만 넘겨도 알아서 처리가 되는 걸 깨달음
- v[i]에 접근하는 게 시간을 많이 소요하지는 않지만, 불필요한 연산을 굳이 할 필요가 없다고 생각해서 변경
shin0112/programmers_cpp: programmers' coding test solutions (github.com)
출처 : 프로그래머스 코딩 테스트 연습 - 덧칠하기
https://school.programmers.co.kr/learn/courses/30/lessons/161989