개발자 바다의 파도

개발의 무인도에 갇혔다

알고리즘 공부/프로그래머스 알고리즘

코딩 기초 트레이닝 - 19일차 (C++)

개바파 2024. 1. 9. 04:47

19일차 - 문자열, 리스트 (배열)

 

1번) 세 개의 구분자

 

 

     for문에 11번째에는 string myStr[i] 값에서 'a', 'b', 'c' 중 하나 찾으면 temp 값을 백터 answer에 삽입을 합니다. 만일 temp 값이 비어있으면 answer에 삽입을 안 하도록 해줘야 합니다. 31번 줄은 마지막 문장이 안 비어 있는 경우 백터 answer에 삽입하는 것입니다. 34번줄은 만일 answer이 비어 있는 경우 "EMPTY" 값을 삽입해줘서 완성시킵니다.

 

2번) 배열의 원소만큼 추가하기

 

     

     이번 문제는 간단하게 이중 for문을 이해하면 쉽게 풀 수 있는 문제입니다. arr[i]에서 조건값을 받아서 그만큼 for문에서 백터 answer에  arr[i] 값을 삽입해주면 됩니다.

 

3번) 빈 배열에 추가, 삭제하기

 

 

     이번 문제는 백터 flag 값을 기준으로 백터 answer에 값을 삽입하는지 추출을 합니다. 만일 true인 경우, 백터 arr[j]값을 arr[j]의 값의 2배를 answer에 삽입을 합니다. 반대로 false인 경우에는 answer을 arr[j] 값 만큼 추출을 해주면 됩니다.

 

4번) 배열 만들기 6

 

 

     이번 문제는 백터 answer에  백터 arr 값을 삽입을 하는 문제입니다. 여기서 조건은 맨 뒤에 있는 answer 값이 arr[i]의 값과 같으면 추출하고, 아니면 arr[i] 값을 삽입하는 것입니다. 여기서 중요한 것은 31번줄에 있는 if문처럼 answer 값이 비어있는 경우 -1을 삽입을 해줘야 하는 것입니다.

 

5번) 무작위로 K개의 수 뽑기

 

 

     이번 문제는 좀 무식하게 풀었습니다. 13번째 줄에 있는 for문는 만일 모든 container 값이 arr의 값과 비교해서 없으면 container에 그 arr 값을 삽입합니다. 만일 같은 것이 있으면 container에 삽입을 안 하고 계속 13번째 줄에 있는 for문을 다시 루프합니다. 33번째 for문은 만일 answer 크기가 container보다 큰 경우 -1 값을 삽입하게 합니다. 반대로 answer 크기가 container보다 작은 경우 그 container의 값을 answer에 삽입을 합니다.

 

코드 복붙 주소 - https://github.com/ResToEons/ProgrammersAlgorithm/tree/main/%EC%BD%94%EB%94%A9%20%EA%B8%B0%EC%B4%88%20%ED%8A%B8%EB%A0%88%EC%9D%B4%EB%8B%9D/19%EC%9D%BC%EC%B0%A8