ALGORITHM/programmers

[프로그래머스 Level 2] 단체사진 찍기 (C++)

yegyeom 2022. 3. 31. 09:11

문제 (https://programmers.co.kr/learn/courses/30/lessons/1835)

 

코딩테스트 연습 - 단체사진 찍기

단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두

programmers.co.kr

알고리즘 스터디 문제 !! ㅎㅇ JY ㅋㅋ

 

일단 이 문제는 예전에 풀었던 문젠데.. 그땐 엄청 비효율적으로 짰다ㅠㅠ 이번에는 코드를 간결하게 짜려고 노력함!

string 변수에 각자 이름을 뜻하는 "ACFJMNRT"을 저장해 두고 이 문자열로 next_permutation 함수를 실행했다.

 

문자열 조합이 생성될 때마다 data vector의 모든 요소를 검사한다. data의 요소는 항상 형식이 동일하므로 '~' 앞뒤의 문자가 무엇인지 확인하고, 조합된 문자열에서 해당 문자의 인덱스를 확인한다. (find 함수 사용) 

(find 함수 참고 링크: https://9x211x2.tistory.com/17) ㅎㅎㅋ

그다음 =, <, > 연산을 만족하는지 확인을 하면서 정답 개수를 카운팅 하면 된다.


[소스코드]