2018/01(40)
-
[백준 2098번] 외판원 순회
소스코드1234567891011121314151617181920212223242526272829303132#include using namespace std; #define MIN(X,Y) ((X)
2018.01.09 -
[백준 4796번] 캠핑
풀이칸을 그려가보면서 생각해보면 되는데 쉽게 풀리지만 백준에서의 입출력 예시만 맞춘다는 생각으로 풀면 틀릴 수 있다. 생각의 순서는 다음과 같다.1. 나의 휴가는 정해져 있고, 캠핑장을 사용하던 사용하지 않는 기간이 있다. -> 그기간이 P2. 내가 사용할 수 있는 기간은 L이다.3. 그렇다면 나의 휴가 V중에 캠핑장을 사용하던 사용하지 않던 허비하는 기간은 총 몇번 반복될까를 파악해보면 V/P이다.4. 그렇다면 V/P만큼 반복될때 내가 실제로 사용하는 기간은 V/P*L이 된다.5. 반복한 후 남은 기간은 내가 얼만큼 머물게 될까? -> 나머지를 구하면 된다.6. 나머지를 구해서 더하면 되지만 나머지가 L보다 크다면 머물수 없는 기간도 포함되어 있다.7. 그렇다면 나머지를 구해서 두가지로 분리하면 된다...
2018.01.09 -
[백준 10799번] 쇠막대기
소스코드12345678910111213141516171819202122232425#include using namespace std; char st[100001], tmp[100001];int sp = 0,tmpSp=0, result=0, openCnt=0; int main() { cin >> tmp; // 레이저 만들기 while (tmp[tmpSp] != '\0') { st[sp] = tmp[tmpSp]; if (tmp[tmpSp] == ')') { if (st[sp - 1] == '(') { st[sp - 1] = 'r'; sp--; } } sp++,tmpSp++; } // 레이저 자르기 for (int i = 0; i 0) { result += openCnt; } else if (st[i] == ..
2018.01.05 -
[백준 10798번] 세로읽기
소스코드12345678910111213141516171819#include using namespace std; int main() { char a[5][16]; for (int i = 0; i > a[i]; while (a[i][j++] != '\0') {} for (int aa = j - 1; aa
2018.01.02