String, StringBuffer, StringBuilder의 차이에 관한 포스팅을 하면서 떠오른 클래스들이 있다. HashMap, HashTable, ConcurrentHashMap 클래스들이다. 무슨 공통점이 있을까? 각각의 클래스들의 차이를 설명하기 위해서는 Thread-safe라는 키워드가 필요하다. Thread-safe란 쉽게 말해서 멀티 스레드 환경에서 안정성을 보장한다는 것인데, 동기화를 지원한다고 보면 된다. (위키를 참고했다.) 위에서 언급한 클래스들 중에서는 String, StringBuffer, HashTable, ConcurrentHashMap이 Thread-safe하다. 멀티 스레드 환경에서 동기화문제를 신경쓰지 않아도 된다. 그렇다면 StringBuilder와 HashMap은..
https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 문제를 제대로 읽지않아 한참동안 헤매었던 문제였습니다. 턴이 진행되던 중에 말이 4개 이상 쌓이면 게임을 끝내야 하는데 K개와 비교한 것이 문제였습니다. 필요한 배경지식 std::vector 컨테이너에 대한 이해 문제 해결 방법 Vector를 잘 활용하면 직관적으로 풀어낼 수 있습니다. 선언한 변수의 정보는 다음과 같습니다. using pii = pair; using dpi = pair; int ..