문제 링크 Palindromic Substrings - LeetCode Can you solve this real interview question? Palindromic Substrings - Given a string s, return the number of palindromic substrings in it. A string is a palindrome when it reads the same backward as forward. A substring is a contiguous sequence of character leetcode.com 풀이 class Solution: def countSubstrings(self, s: str) -> int: n = len(s) # 문자열의 길이를 구하기 d..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(grid): n, m = len(grid), len(grid[0]) dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1] # 위, 오른쪽, 아래, 왼쪽 dd = {"L": -1, "R": 1, "S": 0} # 왼쪽, 오른쪽, 직진 # 현재 방향과 SLR을 입력 받아 다음 방향 출력 def next_direction(d, command): return (d + dd[command]) % 4 # 현재 위치와 방향을 입력 받아 다음 위치 출력 def next_..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def keep_dist(place): # 각 사람의 위치를 저장 person_loc = [(y, x) for y in range(5) for x in range(5) if place[y][x] == 'P'] # 두 사람의 거리를 비교 for y, x in person_loc: for y2, x2 in person_loc: dist = abs(y-y2) + abs(x-x2) # 맨해튼 거리 # 같은 좌표이거나 거리가 2보다 큰 경우 continue if dist == 0 or dist > 2:..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 from itertools import product from bisect import bisect_left from collections import defaultdict def get_all_conditions(conditions): # 재귀적으로 가능한 모든 경우의 수 생성 if not conditions: return [tuple()] else: sub_results = get_all_conditions(conditions[1:]) results = [] for value in ["-"..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 from itertools import combinations from collections import Counter # 조합 생성 def get_candidates(orders, course): candidates = [] for order in orders: for c in course: for comb in combinations(sorted(order), c): candidates.append(''.join(comb)) return candidates # 각 조합별 주문 횟수 계산 d..
문제 링크 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 풀이 # 입력값 받기 n, m = map(int, input().split()) r, c, d = map(int, input().split()) room = [list(map(int, input().split())) for _ in range(n)] # 북, 동, 남, 서 방향 이동 좌표 dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] # 현재 위치 청소 def clean(x, y):..
문제 오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다. BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치이다. 팀의 능력치는 팀에 속한 모든 쌍의 능력치 Sij의 합이다. Sij는 Sji와 다를 수도 있으며, i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치는 Sij와 Sji이다. N=4이고, S가 아래와 같은 경우를 살펴보자. i\j 1 2 ..

문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다. 토마토를 창고에 보관하는 격자모양의 상자들..
문제 설명 철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이크를 공평하게 나눠먹으려 하는데, 그들은 롤케이크의 크기보다 롤케이크 위에 올려진 토핑들의 종류에 더 관심이 많습니다. 그래서 잘린 조각들의 크기와 올려진 토핑의 개수에 상관없이 각 조각에 동일한 가짓수의 토핑이 올라가면 공평하게 롤케이크가 나누어진 것으로 생각합니다. 예를 들어, 롤케이크에 4가지 종류의 토핑이 올려져 있다고 합시다. 토핑들을 1, 2, 3, 4와 같이 번호로 표시했을 때, 케이크 위에 토핑들이 [1, 2, 1, 3, 1, 4, 1, 2] 순서로 올려져 있습니다. 만약 세 번째 토핑(1)과 네 번째 토핑(3) 사이를 자르..

크리스마스가 얼마 남지 않아 마음이 급해진 산타는 선물 공장을 세웠습니다. 산타는 공장에서 순서대로 q개의 명령에 따라 일을 진행합니다. 일의 종류는 크게 다음 5가지로 나뉩니다. 더보기 1. 공장 설립 선물 공장에 m개의 벨트를 설치하고, 각 벨트 위에 정확히 mn개의 물건들이 놓아 총 n개의 물건을 준비합니다. 은 n이 12이고 m이 3인 예입니다. 각 물건에는 고유한 번호(ID)와 무게(W)가 적혀있습니다. 번호는 상자마다 다르지만, 무게가 동일한 상자는 있을 수 있습니다. 2. 물건 하차 산타가 원하는 상자의 최대 무게인 w_max가 주어집니다. 1번부터 m번까지 순서대로 벨트를 보며 각 벨트의 맨 앞에 있는 선물 중 해당 선물의 무게가 w_max 이하라면 하차를 진행하고, 그렇지 않다면 해당 ..
- Total
- Today
- Yesterday
- lv.2
- 구현
- 깊이 우선 탐색
- Simulation
- 코딩테스트
- 코딩 테스트
- leetcode
- 카카오 코딩테스트
- 프로그래머스
- 코드트리
- 다이나믹 프로그래밍
- 그래프 탐색
- 브루트포스 알고리즘
- 수학
- 문자열
- 백준
- 실버3
- 너비 우선 탐색
- 리트코드
- 정렬
- lv.3
- 그리디 알고리즘
- 골드5
- 시뮬레이션
- 백트래킹
- 카카오
- 실버2
- Python
- 릿코드
- 그래프 이론
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |