본문 바로가기
반응형

SWE326

[성실코딩 3일차] 백준 #14923 미로 탈출*** DFS로 풀었다가 시간 초과 났습니다. 그리고 백준을 너무 오랜만에 풀어서인지 자꾸 쉬운 실수를 했다. 실수 1. DFS에서 탈출조건에서 여러가지 경우를 생각하지 않았음. ( 도착지가 1일 경우를 고려안하고 풀고있었음.) 실수 2. 방문했던 곳을 표시안했음. 위 두 가지를 놓쳐서 처음엔 틀렸습니다 여러번 받고 나중에 시간초과 뜸. DFS C언어 구현 코드 -시간초과 #include using namespace std; #define INF 987654321 int N, M; int Hx, Hy, Ex, Ey; int map[1001][1001]; int visited[1001][1001] = { 0, }; int answer = INF; // 동 서 남 북 int dx[4] = {.. 2019. 1. 4.
[성실코딩 2일차] 백준 #1018 체스판 다시 칠하기 문제 풀이 하나하나 확인해가며 구현문제로 풀었다. 힌트를 얻은 건 문제에서 "체스판의 색은 항상 두 가지가 가능한데, 하나는 왼쪽 위 코너가 흰색인 것, 검정색인 것 두가지이다" 라는 언급이다. 체스판을 가능한 8*8로 모두 자르고 각각 검정으로 시작할 때, 흰색으로 시작할 때를 계산해서 최소값을 구했다. (문제에서 N,M은 50보다 작기때문에 가능한 체스판의 경우는 42(50-8)*42(50-8)이다. 그리고 체스판의 모든 칸을 비교하기 때문에 *8 위의 연산을 검정일 때, 흰색일 때 모두 확인하여야 하기 때문에 *2 전체 연산 횟수는 42*42*8*2 = 28224 따라서 시간 초과가 발생하지 않을 것이라고 예상하고 구현문제로 풀었다.) 구현 char 배열c에 B, W를 저장해두고 각 문자를 입력받은.. 2019. 1. 3.
[성실코딩 1일차] 백준 #14889 스타트와 링크 일단! 새해부터 다시 열심히 하기로 마음가짐을 다잡았으니 1일차로 카운트를 시작했당 두번째! 스타트와링크 코테 처음 공부할 때 풀어봤던 문제다. 그 때 못풀어서 다른 코드 보면서 공부했었는데 이번에는 쉽게 풀었다. 대신 똑같은 구조? 방식으로 풀어낸 것 같다. #include using namespace std; #define INF 987654321 int N; int s[20][20]; int people[20] = { 0, }; int minValue = INF; bool countTeam() { int cnt[2] = { 0,0 }; for (int i = 0; i < N; i++) { if (people[i]==0) { cnt[0]++; } else { cnt[1]++; .. 2019. 1. 2.
[성실코딩 33일차] 백준 #3460 이진수 엄청 쉽다. 나는 그냥 %2를 해서 나머지가 1일 때 해당 index를 출력해주도록 하였는데 사실 bitmask를 사용하면 더 좋은 문제같다! 숫자 n & (1> tc; for (int i = 0; i > n; int idx = 0; while (n > 0) { if(n % 2 == 1) { cout 2018. 12. 13.
반응형