본문 바로가기

BOJ 2870 - 수학숙제 문제 링크https://www.acmicpc.net/problem/2870 문제 해결1. "001abc3fd2" 같은 문자열이 들어오면, 1, 3, 2로 숫자를 파싱한다. 2. 비내림차순으로 출력한다. 주의할 점1. 한 문자열이 최대 100의 길이를 가질 수 있으므로, 숫자를 파싱할 때는 문자열 형태로 파싱한다. 2. 정렬할 때 정렬 조건을 설정해줘야한다. bool형으로 함수를 선언한다. 만약 true라면 순서를 바꾸지 않고, false라면 순서를 변경한다. 참고로 비교할 때, strict하게 대소 비교를 해야한다. 3. 0으로 시작하는 문자열은 0의 중복을 제거해야한다. 즉, "00002"는 "2"로, "00000"은 "0"으로 파싱한다. ※ 정확하고 부드러운 태클은 언제나 환영입니다. 더보기
문자열을 숫자로, 숫자를 문자로 참고 문제 링크https://www.acmicpc.net/problem/2609 문자열 → 숫자 - #include 추가. - int i = atoi(스트링.c_str()); 숫자 → 문자 - #include 추가. - string str = to_string(숫자); ※ 정확하고 부드러운 태클은 언제나 환영입니다. 더보기
BOJ 3055 - 탈출 문제 링크https://www.acmicpc.net/problem/3055 문제 해결1. ' S '에서 출발해서 D까지 이동하는 최소 시간을 출력한다. 2. ' X '로 되어있는 장애물과 ' * '로 되어있는 물로는 이동할 수 없다. 오직 ' . '로만 이동할 수 있다. 3. 만약 이동할 수 없다면, "KAKTUS"를 출력한다. 주의할 점1. ' * '과 ' . '을 같은 큐로 구현해야 메모리 초과를 막을 수 있다. 2. 문제에 있듯이, 고슴도치는 물이 이동할 자리론 이동할 수 없다. 즉, ' * '의 확장이 고슴도치의 이동보다 먼저 구현되어야한다. 3. 그러므로, queue에는 ' * ' -> ' . ' -> ' * ' -> ' . ' .... 이러한 순서로 들어가야한다. 4. 물의 확장을 적절하게 구.. 더보기