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