일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- 모듈구조
- 자바예제문제풀이
- CPU
- 프로세스제어
- 데이터db
- dfs.append(df)
- c자료구조
- 디렉터리구조
- 스케줄링평가기준
- 컴퓨터구조
- 파일시스템개요
- 보호와보안
- 자바
- 파일연산
- 운영체제
- cpu성능향상
- 비순환
- C언어
- 셀레니움 명령어
- 아나콘다 설치법
- 프로그래머스
- 마이크로터널
- cpu 스케줄링 알고리즘의 비교 분석한 표
- 객체지향적접근방법
- 인터럽트처리과정
- c언어개발환경
- 데이터적재오류
- 운영체제부팅
- 명품자바
- Today
- Total
aiccstudy Blog
프로그래머스 문제 풀이 본문
-파이썬 공부
1.올바른 괄호
def is_pair(s):
st = list()
for c in s:
if c == '(':
st.append(c)
if c == ')':
try:
st.pop()
except IndexError:
return False
return len(st) == 0
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( is_pair("(hello)()"))
print( is_pair("()()()"))
2.혼자놀기
def solution(cards):
answer = []
for i in range(len(cards)):
tmp = []
while cards[i] not in tmp:
tmp.append(cards[i])
i = cards[i] - 1
answer.append([] if sorted(tmp) in answer else sorted(tmp))
answer.sort(key=len)
return len(answer[-1]) * len(answer[-2])
3.가장 먼 노드
from collections import deque
def solution(n, vertex):
# 그래프를 인접 리스트로 구성
graph = [[] for _ in range(n+1)]
for v in vertex:
graph[v[0]].append(v[1])
graph[v[1]].append(v[0])
# BFS를 위한 큐와 거리 배열
distances = [-1] * (n + 1) # 모든 노드의 거리를 -1로 초기화 (방문하지 않은 상태)
distances[1] = 0 # 1번 노드의 거리는 0
queue = deque([1])
# BFS 탐색
while queue:
current = queue.popleft()
for neighbor in graph[current]:
if distances[neighbor] == -1: # 아직 방문하지 않은 노드
distances[neighbor] = distances[current] + 1
queue.append(neighbor)
# 가장 멀리 떨어진 노드들 찾기
max_distance = max(distances)
return distances.count(max_distance)
'기타' 카테고리의 다른 글
현황 (0) | 2025.02.19 |
---|---|
자바스크립트 문제 lv0 (0) | 2024.08.07 |