본문 바로가기

카테고리 없음

2020-12-23 08시 개발자 글 모음 | "[백준10266번] 시계 사진들 / " 외 7개 이야기

열혈 자료구조 - 7.2 큐의 배열 기반 구현(1) by 박세용

  • -> 데이터가 하나 있을 때 Front와 Rear의 위치가 같다면 주어진 공간을 모두 사용하겠다는 의미
  • -> 이렇게 되면 큐가 다 채워졌는지 확인하기 위해 Front와 Rear의 관계를 비교하는데 다 채워졌을 때와 다 비워졌을 때가 동일한 관계를 가지게 되면서 모호해짐
  • -> 저 위치가 꼭 고정이 아니고 dequeue연산으로 Front가 이동되면 enqueue연산으로 Rear을 이동시킬 수 있음 (= 무조건 한 칸을 비워야 함)


열혈 자료구조 - 7.2 큐의 배열 기반 구현(2) by 박세용

  • Data data) { if(NextPosIdx(pq->rear) == pq->front) { printf("Queue Memory Error!"); exit(-1); } // rear + 1 == front라면 꽉 찼다고 판단 pq->rear = NextPosIdx(pq->rear); // rear를 한칸 이동하고 pq->queArr[pq->rear] = data; // 이동한 rear 인덱스에 데이터를 넣음 }
  • Data Dequeue(Queue * pq) { if(QIsEmpty(pq)) { printf("Queue Memory Error!"); exit(-1); } pq->front = NextPosIdx(pq->front); // front를 한 칸 이동하고 return pq->queArr[pq->front]; // 그 위치의 데이터 반환 }
  • Data QPeek(Queue * pq) { if(QIsEmpty(pq)) { printf("Queue Memory Error!"); exit(-1); } return pq->queArr[NextPosIdx(pq->front)]; }


[백준4354번] 문자열 제곱 / Python3 by 홍석준 about 백준,Python

  • 따라서 해당 예외를 잡아내기 위해서는 len(string) % (len(string) - table[-1]) != 0 을 확인해주면 된다
  • # 4354번 문자열 제곱 def failure(p): tmp = [0] * len(p) j = 0 for i in range(1
  • ': break table = failure(string) if len(string) % (len(string) - table[-1]) != 0: # 나머지 확인 print(1) else: print(len(string) // (len(string) - table[-1]))


[백준1305번] 광고 / Python3 by 홍석준 about 백준,Python

  • 해당 문제는 failure function을 사용해 접두사 접미사가 같은 최대 길이를 구한 뒤 광고판의 길이인 L 에서 failure function의 결과 배열의 마지막 요소를 빼주면 되는 문제다
  • a a b a a a 0 1 0 1 2 2 => 6 - 2 = 4 이 문제는 failure function만 알고있다면 의외로 쉽게 풀 수 있는 문제였던 것 같다
  • len(p)): while j > 0 and p[i] != p[j]: j = tmp[j-1] if p[i] == p[j]: j += 1 tmp[i] = j return tmp l = int(input()) adv = input() table = failure(adv) print(l - table[-1])


[Swift] Binary Search란? by 이차민 about Swift

  • lowerBound) / 2 if a[midIndex] > key { // 중간을 포함한 뒤의 배열 버림 return binarySearch(a
  • < midIndex) } else if a[midIndex] < key { // 중간을 포함한 앞의 배열 버림 return binarySearch(a
  • 두 스텝만에 원하는 값을 찾게 된 것을 보면 Binary Search가 얼마나 강력한 탐색 방법인지 확인 가능하다


맥북 에어 M1 리뷰, 애플 반도체 칩의 성능은 얼마나 강력할까? by 왕형준

  • Apple tweaks its troubled MacBook keyboard design yet again
  • expands repair program
  • All MacBooks with the so-called "butterfly mechanism" will now be fully eligible for Apple's Keyboard Service Program…


[macOS] how to set default python as default on M1 mac by 장지훈 about Python


    [백준10266번] 시계 사진들 / Python3 by 홍석준 about 백준,Python

    • 270도로 0번 인덱스와 3번 인덱스를 1로 만들고나서 clock1 을 두개 이어붙여 만들어두고 clock2 는 180도
    • # 10266번 시계 사진들 def failure(p): tmp = [0] * len(p) j = 0 for i in range(1
    • p): table = failure(p) j = 0 for i in range(len(s)): while j > 0 and s[i] != p[j]: j = table[j-1] if s[i] == p[j]: if j == len(p)-1: return True else: j += 1 return False n = int(input()) clock1 = [0] * 360000 clock2 = [0] * 360000 for a in map(int