-
외계어 사전 (c++)코딩테스트/프로그래머스 2024. 1. 20. 20:00
과정
1. spell으로 모든 경우의 수 만들기 → O(n!)
2. 삼중 for문으로 해결 → O(n^3)
- dic 한 번
- dic[i] 한번
- spell과 비교
3. set 사용 → O(n^2logn)
- 중복 확인 안함
4. 중복을 확인할 수 있는 방법 생각..
sol
1. 필요한 벡터 만들기
- 조건이 되는 알파벳을 확인하는 벡터 - con
- 이미 중복되었는지 확인하는 벡터 - check
2. 이중 for문 dic[i] → dic[i][j]
- dic[i][j]의 값으로 con 확인
- 이미 중복되었는지 확인
- 위 2가지 조건을 만족하지 않으면 return 2
3. 중복용으로 확인했던 vector check 0으로 초기화
고민
- 글자 or 숫자의 여부를 확인하는 경우를 찾는 경우에 약한 듯
- 위에는 중복 여부까지 확인
- 적절한 벡터를 만들어서 조건을 확인하자
- 위의 경우에는 1) 찾아야 하는 것 2) 중복 확인
결론
주어진 조건에 맞게 적절한 벡터를 만들어서 논리적인 연결성을 생각해보자shin0112/programmers_cpp: programmers' coding test solutions (github.com)
출처 : 프로그래머스 코딩 테스트 연습 - 외계어 사전
https://school.programmers.co.kr/learn/courses/30/lessons/120869'코딩테스트 > 프로그래머스' 카테고리의 다른 글
과일 장수 (c++) (0) 2024.01.24 Budget (c++) (0) 2024.01.24 바탕화면 정리 (c++) (0) 2024.01.20 직사각형 넓이 구하기 (c++) (0) 2024.01.20 안전지대 (c++) (0) 2024.01.19