stddb
close
프로필 사진

stddb

github: @denev6

  • 분류 전체보기 (183) N
    • TIL (15)
    • WIL (9)
    • 별 잡다 (25) N
    • 문제풀이 (70) N
    • 구현하기 (30)
    • 컴퓨터 이론 (19)
      • CS:APP (8)
  • 홈
  • 태그
  • 방명록

LEET-CODE 367 : Valid Perfect Square

갑자기 정글에서 릿코드를 시키는데, 코드의 시작점부터 건드려보고 싶은 나는 갑자기 망설여졌던건 있다. 하지만 역시 글로벌 사이트라 그런지 그냥 온라인 IDE를 쓰는 수준이어서 꽤 만족스러운 한 문제였다.https://leetcode.com/problems/valid-perfect-squareclass Solution: def isPerfectSquare(self, num: int) -> bool: start = 0 end = (2 ** 31) - 1 while(start

  • format_list_bulleted 문제풀이
  • · 2025. 6. 13.

BOJ 14502 : 연구소

내가 아는 연구소의 이미지는 클린딱딱인데 벽도 둘 수 있다니 굉장하다. 가벽 내지 방화벽 같은거 아닌가 싶은데 그럼 내가 만드는건 설계도의 일부이고, 나중에 건설업계 면접이라도 보는 날엔 이런 문제를 풀었다고 어필해야겠다.https://www.acmicpc.net/problem/14502from itertools import combinationsfrom collections import dequeimport copyn, m = map(int, input().split())lab = [list(map(int, input().split())) for _ in range(n)]dx = [1, -1, 0, 0]dy = [0, 0, 1, -1]def bfs(field): queue = deque() ..

  • format_list_bulleted 문제풀이
  • · 2025. 6. 12.

팰린드롬을 효율적으로 찾는 매내처 알고리즘

흔하게 보이는 유형은 아니라고 생각했는데, 의외로 백준에 제법 분량이 있다고 한다. 한번쯤 짚고 가면 좋을 것 같아서 찾고 정리하려고 한다. 알고리즘은 어하지 않아도 되는 계산을 적절한 논리를 통해 넘길 수 있다면 속도적 개선점을 찾을 수 있다. 그에 대해 써 내려가보겠다. Manacher's Algorithm은 회문을 효율적으로 찾는 알고리즘이다. 우선, 회문의 정의을 아주 간단하게 짚고 가보자.회문은 팰린드롬과 동의어이다. 앞에서 읽으나 뒤에서 읽으나 같은 문자열이다.기러기 역삼역 우영우 같은 단어들은 회문의 대표적인 예제이다. 핵심어떤 전체 문자열에서 일부의 팰린드롬을 찾는데는 O(N^2)가 소요될 것이다. 앞 뒷 비교.. 하다보면 제일 빨리 떠올릴 수 있는 방법이 그 정도 시간이 걸린다. 하지만 ..

  • format_list_bulleted 문제풀이
  • · 2025. 5. 22.

BOJ 21736 : 헌내기는 친구가 필요해

헌내기라는 표현은 참 마음아프다. 새내기에 반의어로 제시된 급조된 단어 일텐데, 사람들은 마음 아픈 표현을 아무렇지 않게 잘 만드는 것 같다. 근데 또 헌내기말고 그 특유의 오묘한 비참함을 표현할 단어가 없는 것 같다. 사람들이 잔인하다기 보단 한글의 표현이 너무 딥한 듯.https://www.acmicpc.net/problem/21736 문자열로 구성된 전체 맵이 주어지면 사람한테 찾아가는 문제다. BFS가 직관적으로 떠올라서 해결하였다.import sysfrom collections import dequeinput = sys.stdin.readlinefieldX, fieldY = list(map(int, input().split()))isVisited = [[False for _ in range(fi..

  • format_list_bulleted 문제풀이
  • · 2025. 5. 21.

BOJ 11659 : 구간 합 구하기 4

구간 합을 구하는데 있어 메모리를 좀 더 쓰면서, 계산 횟수가 덜 해질 수 있는 방법을 생각해보자. 계산을 실시하는 한 쌍의 계산 시도를 할 수록 계산 횟수는 후다닥 증가한다. 그럼 미리 해두면 되겠다. 그쵸https://www.acmicpc.net/problem/11659 import sysfrom collections import dequeinput = sys.stdin.readlinenumList = [0] * 100001totalList = [0] * 100001numCount, testCaseCount = list(map(int, input().split()))numList = list(map(int, input().split()))for i in range(0, numCount): tot..

  • format_list_bulleted 문제풀이
  • · 2025. 5. 20.

BOJ 11727 : 2xn 타일링 2

import sysfrom collections import dequeinput = sys.stdin.readlinedp = [0] * 1001dp[1] = 1dp[2] = 3dp[3] = 5for i in range(4, 1001): dp[i] = dp[i - 1] + (dp[i - 2] * 2)num = int(input())print(dp[num] % 10007)

  • format_list_bulleted 문제풀이
  • · 2025. 5. 17.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 12
  • navigate_next
공지사항
  • WHO I AM
전체 카테고리
  • 분류 전체보기 (183) N
    • TIL (15)
    • WIL (9)
    • 별 잡다 (25) N
    • 문제풀이 (70) N
    • 구현하기 (30)
    • 컴퓨터 이론 (19)
      • CS:APP (8)
인기 글
전체 방문자
오늘
어제
Copyright © pwerty 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바