본문 바로가기
반응형

백준2

1158 요세푸스 문제 / #include<list> / List 사용하기 1. 리스트의 경우 Random Access 가 불가능하다. 따라서 iterator를 활용하여 출력을 해줘야 한다. - 근데 iterator의 경우 it+3과 같은 접근이 불가능하기 때문에 it++; 과 같은 형태로 이용해주어야 한다. - 맨 앞과 뒤는 출력이 가능한데 이는 list.front(), list.end() 와 같은 형식으로 접근이 가능하다. 2. 리스트의 경우 erase를 하고 나면 그 후에 사용이 불가능하다. 따라서 it = erase(it); 형태로 바꿔주어야한다. 3. 리스트의 삽입은 list.insert(it,x) 꼴이며 list.push_back(x), list.push_front(x) 와 같은 형태로 사용이 가능하다. - 삭제도 마찬가지 pop_front() , pop_back().. 2022. 1. 27.
10816 백준 숫자카드2 문제는 다음과 같이 10개의 수가 주어지고 8개 수 중 몇개가 들어있는지 나열하는 것이다. 나는 counting sort를 이용해서 풀었는데 시간이 오래 걸려서 다른 방법을 찾아보았다. 중복되는 수 때문에 이진 탐색을 이용할 수 없다 생각하여 counting sort를 활용하였는데 lower_bound, upper_bound를 이용해서 쉽게 해결할 수 있더라.. 소스 코드를 직접 구현하면 이런 느낌이다. 이 것을 내장함수로 표현하면 다음과 같다. 훨씬 더 소스코드가 간결해졌지만 실행 시간은 counting sort와 비슷한 결과를 가져다 주었다. 메모리 차이는 많이 나더라.. 2022. 1. 27.
반응형