728x90
반응형

 

1. 시간 초과 코드 

# 2644

n = int(input()) # 전체 사람의 수 
a, b = map(int,input().split())
m = int(input()) # 관계의 수 

graph = [ [] for _ in range(n+1) ] 

for i in range(m):
  p, c = map(int,input().split())
  graph[p].append(c)

def bfs(x, y):
  p ,cnt = 0, 1

  while 1: 
    for i in range(1,n+1):
      if x in graph[i]:
        p = i 
        break 
    
    if p == 0 : return -1 
    else : cnt += 1 
    
    if y in graph[p] : return cnt 
    else : x = p  

print( bfs(a,b) ) 

 

2. 정답 코드 

# 2644
from collections import deque 

n = int(input()) # 전체 사람의 수 
a, b = map(int,input().split())
m = int(input()) # 관계의 수 

graph = [ [] for _ in range(n+1) ] 

for i in range(m):
  p, c = map(int,input().split())
  graph[p].append(c)
  graph[c].append(p)


def bfs(s, e):
  cnt = 0 
  queue = deque()
  queue.append(s) 
  visited = [False] * (n+1)  # 한 번 방문했는데 없던 곳 또 가지 않는다. 

  while queue:
    cnt += 1  # 한 단계 건널 때 마다 촌수 추가 
    
    for _ in range(len(queue)): # 지금 queue의 원소 만큼 반복 
      x = queue.popleft()

      if x == e : 
        return cnt-1
      
      for y in graph[x]:
        # 방문 안한 부분이 있으면 queue에 넣고 방문처리 
        if visited[y] == False:
          visited[y] = True 
          queue.append(y)
  
  return -1 

print( bfs(a,b) ) 
728x90
반응형

'백준 > DFS_BFS' 카테고리의 다른 글

#1743 음식물 피하기 파이썬  (0) 2021.04.08
# 11725 트리의 부모 찾기 파이썬  (0) 2021.03.11
# 2583번: 영역 구하기  (0) 2020.10.12
# 2468번: 안전 영역  (0) 2020.10.12
# 4963번: 섬의 개수  (0) 2020.10.12
728x90
반응형

 

 

acmicpc.net/problem/2217

 

2217번: 로프

N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하

www.acmicpc.net

# 2217

n = int(input()) # 로프의 수 
data = []

for i in range(n):
  data.append(int(input()))

data.sort(reverse=True)

max_w = []

for i in range(n):
  max_w.append( data[i]*(i+1))

print(max(max_w))

 

 

너무 어렵게 생각하지 않는 것이 중요하다.

기본적으로 입력받은 중량 값을 역으로 정렬하여 사용한다. 

 

우선, 가장 기본적으로 들 수 있는 중량은 제일 큰 로프의 중량 값이다.

2가지의 로프를 사용한다면, 

가장 큰 로프는 그다음으로 큰 로프보다 항상 크므로 

두 번째 로프의 2배만큼의 중량을 들 수 있을 것이다. 

 

3가지의 로프를 사용하고.. 그 이상의 로프를 사용한다고 해도 마찬가지이다. 

 

이렇게 새로운 배열을 만들고 나서 가장 큰 값을 고르면 된다. 

 

 

 

728x90
반응형

'백준 > 그리디' 카테고리의 다른 글

#13305 주유소 파이썬  (0) 2021.03.08
# 4796 캠핑  (0) 2021.03.08
# 1439번: 뒤집기  (0) 2020.10.15
# 1931 회의실 배정  (0) 2020.09.18
# 14720 우유 축제  (0) 2020.09.18
728x90
반응형

 

 

 

www.acmicpc.net/problem/13305

 

13305번: 주유소

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1

www.acmicpc.net

 

# 13305 

n = int(input()) # 도시의 수 
dist = list(map(int, input().split() ))
cost = list(map(int, input().split() ))

# 처음 출발할 때, 무조건 기름 필요 
total = cost[0]*dist[0]
m = cost[0]

# 나보다 작은 값이 나오면 그 이후로 그 값으로 계산 
# 마지막 나라의 가격은 사실상 사용되지 않으므로 무시 가능 
for i in range(1,n-1):
  if cost[i] < m : 
    total += dist[i] * cost[i]
    m = cost[i]
  else : 
    total += dist[i]*m

print(total)

 

+) 주의사항 

만약에 계속 min 함수를 이용해서 최솟값을 찾고자 하면 시간 초과 오류가 날 수 있음. 

처음에 아래와 같이 코드를 작성했더니 시간 초과 오류가 남. 

# 13305 

n = int(input()) # 도시의 수 
dist = list(map(int, input().split() ))
cost = list(map(int, input().split() ))

# 처음 출발할 때, 무조건 기름 필요 
total = cost[0]*dist[0]

# 가장 작은 값 이후로는 다 작은 값으로 계산 
e = len(cost)
while e > 1 : 
  cost = cost[:e] 

  small = min(cost)
  s_i = cost.index(small)

  # print("최소값은", small, "index : ", s_i)

  for i in dist[s_i:e] :
    total += small* i
    #print('total: ', total)
    #print(dist[s_i:e])

  e = s_i

if e == 0 : 
  total -= cost[0]*dist[0]

print(total)
728x90
반응형

'백준 > 그리디' 카테고리의 다른 글

# 2217 로프  (0) 2021.03.08
# 4796 캠핑  (0) 2021.03.08
# 1439번: 뒤집기  (0) 2020.10.15
# 1931 회의실 배정  (0) 2020.09.18
# 14720 우유 축제  (0) 2020.09.18
728x90
반응형

www.acmicpc.net/problem/4796

 

4796번: 캠핑

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.

www.acmicpc.net

 

# 4796

data = [] 
while True : 
  L, p, v = map(int, input().split() ) 
  if L + p + v == 0 : 
    break 
  else : 
    data.append([L,p,v])

for i in data : 
  L, p, v = i[0], i[1], i[2]

  cnt = ( v//p )*L
  re = v - p*(v//p)

  if re <= L :
    cnt += re
  else : 
    cnt += L
  
  print("Case",str(data.index(i)+1)+":",cnt)

 

 

728x90
반응형

'백준 > 그리디' 카테고리의 다른 글

# 2217 로프  (0) 2021.03.08
#13305 주유소 파이썬  (0) 2021.03.08
# 1439번: 뒤집기  (0) 2020.10.15
# 1931 회의실 배정  (0) 2020.09.18
# 14720 우유 축제  (0) 2020.09.18
728x90
반응형

1. 공부 기간 : 2/17 ~ 2/19 , 약 3일

 

2. 사용 교재 : 2021 에듀윌 kbs 한국어능력시험 한권끝장

 

3. 공부 방법 : 

 

사실 2주 정도 기간을 잡고 공부를 하려고 계획했었다.

그런데 한국사 시험 끝나고 잠깐 쉬었다가.. 설날에 시골 내려가고 하다 보니 결국 3일 밖에 공부 못했다. 

 

원래는 기출 문제도 인터넷에서 풀어 볼 수 있다고 하길래 풀어보고 그러려고 했는데 못했다. 

시간적 여유가 있는 사람은 아래 홈페이지에서 10일에 22,000원에 구매할 수 있으니 풀어보길 추천한다. 

 

klt.modnexam.com/exam/main.asp?svc_id=U01G09U900DH0H0O0GDH999UU9DHULU19UDHL0L9LLL2D9LHD01H090U9DUU011H0F1HL9DOL2L71H940U1HUU1HU0UU1HDH919201

 

KBS 한국어 능력시험

오답요인 분석 및 오답문항에 대한 학습 후 다시 한 번 오답 문항을 풀어보고 재응시 성적표를 받아볼 수 있습니다. 재응시 성적표에서는 오답요인별로 변화된 나의 노력지수와 노력강도를 통

klt.modnexam.com

 

 

이런 저런 이유로, 일단은 미리 구매해둔 에듀윌 2021 kbs 한국어 능력시험 한권끝장 책을 보기 시작했다. 

시간이 부족해서 듣기, 창안, 등등의 분야의 개념은 읽어보지 않았고 

고유어, 속담, 한자성어, 어법 부분의 개념만 살펴보았다. 

하지만 이것도 양이 꽤 되는 편이라서 읽는데 시간이 좀 걸린다. 

( 그런데 읽는다고 머리에 잘 들어오지도 않는다.. ㅜㅜ 무조건 자주 읽어 봐야 머리에 남을 것 같다.. ) 

 

 

이틀에 걸쳐서 개념을 살펴보고 마지막 날에 

홈페이지에 있는 기출문제 1회분과 기출변형 문제편을 풀어보는 것으로 공부를 마무리 했다. 

 

에듀윌 2021 kbs 한국어 능력시험 한권끝장 기출변형 문제편

 

 

4. 한국어 능력 시험 후기 : 

 

내가 0 개 국어를 하나.. 싶은 생각이 드는 생각이었다. 

표준어도 생각보다 내가 잘못 알고 있는 부분이 많았고 고유어는 정말 거의 몰랐고..

한자도 내가 참 많이 까먹었구나 싶은 생각이 들었다. 

 

한번 제대로 공부해 봤으면 좋았을 것 같다는 생각이 들어서 좀 아쉬웠다. 

공부는 거의 못했지만 가산점 받을 수 있는 점수가 나오기를 바라고 있다.. 

 

 

 

>> 성적 확인 ! 

공부 하나도 못한 창안, 국어 문화에서 높은 점수를 받고 나름 공부한 분야인 문법, 이해 부분에서 많이 틀렸다.. (?) 

솔직히 문법은 한자, 고유어 공부 하나도 못해서 거의 찍다 싶이 문제를 풀어서 예상은 했지만..

이해 부분은 열심히 풀었는데 좀 의아하다는 생각이 들었다. 

 

어쨌든,  다행이도 2-급 이면 공부량 대비 아주 만족하는 성적이다. 

 

혹시, kbs 한국어 능력검정 시험 공부 많이 못하셨더라도 ..

시험 접수 하셨다면 가서 그냥 한 번 봐 보시는 것을 추천드립니다 !! 

 

 

kbs 한국어능력시험 결과

 

 

 

728x90
반응형
728x90
반응형
728x90

 

1. 공부 기간 : 1/18 ~ 2/5 , 약 3주 

 

2. 사용 교재 : 큰별쌤 최태성의 별별 한국사능력검정시험 (상), (하) 

www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791165985110&orderClick=JAI

 

큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1, 2, 3급)(상)(2021) - 교보문고

오랜 연구와 검증으로 한국사에 기초가 전혀 없는 사람도 단기간에 한능검에 합격할 수 있는 최적의 구성을 완성하였습니다. 판서의 장인 큰별쌤 최태성이 핵심만을 모아 만든 아트 판서를 수

www.kyobobook.co.kr

 

3. 공부 방법 

  1) 1주차 : 큰별쌤 최태성의 별별 한국사능력검정시험 (상) 인강 수강

  2) 2주차 : 큰별쌤 최태성의 별별 한국사능력검정시험 (하) 인강 수강 

  3) 3주차 : 7일의 기적 + 인강 들었던 것 복습 + 한국사 최신 기출 10개

 

 

아주 기본적인 지식만 알고 있는 거의 노베이스 상태에서 3주 정도 기간을 잡고 공부를 시작했다. 

3주 내내 하루 종일 한국사 공부만 한 것은 아니고, 

1~ 2주 간은 하루에 5강의 정도는 꾸준히 들으려고 노력했다. 

하지만 마지막 3주차에는 하루에 6시간 이상 공부했다. 

 

한국사 강의는 큰별쌤 최태성 선생님의 강의를 들었다. 역사는 ~ 최태성!! ★

큰별쌤 최태성 선생님께서 한국사 강의를 무료로 올려 주신다. 

 

www.youtube.com/channel/UC0MVv0wGYB078pISgHFwhzQ

 

최태성 1TV

이 채널은 큰★별쌤 최태성의 공식 인강 채널입니다. 누구나 필요한 강의는 모두 무료로 들을 수 있도록. 큰별쌤의 강의를 모아 [최태성 1TV]를 개국합니다. 한국사 강의 압도적 1위! 큰별쌤과 함

www.youtube.com

선생님께서 쉽고 꼭 필요한 부분들을 중점적으로 강의해주시기 때문에 도움이 많이 된 것 같다. 

매 강의 뒤에 있는 별 채우기 학습은 기출에 나왔던 문항들로 구성되어 있으므로 자주 보면 좋다. 

 

처음에 구석기, 신석기.. 고구려 백제 신라 할 때 까지는 정말 재미있게 공부했었는데 

고려.. 조선 나오면서 헷갈리기 시작하고 

( 개인적으로 문화파트가 외우기가 까다로웠다. 석탑이며 건물이며 다.. 정말 비슷하게 생겼다는 .. ㅎㅎ ) 

 

※ tip .. ) 너무 안 외워진다고 힘들어 하지 말고 그냥 넘기는 것도 방법이다. 시험에 쉽게 출제 될 수도 있고 

혹여나 어렵게 나오면 하나 틀리면 된다. 무조건 다 외워야 한다는 마음으로 공부하면 너무 힘들다. 

대신, 자주 들여다 보면 충분히 눈에 사진들을 익숙해진다. 이것으로 충분하다. 

 

 

일제 강점기에 들어서면서 외워야 할 부분들이 갑자기 많아진다.. 

 

하지만 최태성 선생님의 강의를 잘 듣고 3번 정도 더 추가적으로 읽어보고 

7일의 기적으로 전체적으로 마무리하며 기출 10회정도만 풀어본다면 누구나 무난하게 합격할 수 있는 자격증인 것 같다. 

 

마지막으로 큰별쌤 께서 시험 바로 전날 오후 10시에 전야제로 

나올 것 같은 부분들을 찝어 주시는데, 이번에 여기에서 정말 많이 출제 되었다고 한다! 

( 선생님께서 작두 타셨다고 좋아하셨다.. ㅎㅎ ) 

 

이렇게 전체 인강 잘 수강하고, 복습 3회독, 기출 10회 !! 로 시험 준비하는 것을 추천한다. 

개인적으로 빠르게 공부하는 것을 별로 선호하지 않아 기간은 3주정도 잡았는데, 

2주 정도면 충분한 시험 같다. 100점을 맞아야 하는 시험이 아니고 80점만 넘으면 1급이니 

모두 열심히 해서 좋은 결과 있으면 좋겠다. 

 

 

4. 한국사 공부 후기 

한국사 능력 검정 시험 결과

 

제 51회 시험은 무난한 난이도로 출제되었다.

기출을 풀어 보다가 50회, 47회 같은 어려운 회차를 풀고 좌절하지 말았으면 한다. 

많이 틀려도 틀린 부분을 확실히 알면 충분히 합격할 수 있다! 

 

한국사 시험을 보고 나서 , 집에 와서 영화 '말모이'를 보았다. 

우리 나라 역사의 흐름을 알고 나서 영화를 보니, 영화 속 소품들이나 전차, 옷 차림 등이 잘 이해되고 

아는 이름들도 나와서 영화를 더욱 깊이 이해할 수 있었다. 

 

꼭 자격증 시험 때문만이 아니더라도 우리나라 역사를 이런 방식으로라도 공부해 볼 수 있어서 좋았던 것 같다. 

그 어떤 자격증 보다 머리 속에 오래 남을 것 같은 시험이었다. 

 

 

+)

접수가 너무 힘든 시험이었다..

실제로 3시간 동안 계속 새로고침 했는데 결국 홈페이지 못들어가고 친구에게 부탁했다. 개선 할 수 있는 부분이 있다면 개선해주면 좋겠다는 생각이 들었다. 

 

 

 

 

728x90
반응형

'자격증' 카테고리의 다른 글

kbs 한국어 능력 시험 2-급 후기 ( 3일 공부.. )  (1) 2021.03.04
토익 ( 400점대 에서 945점 까지 )  (6) 2021.01.04
정보처리기사  (0) 2020.09.10
728x90
반응형

 

1. 공부 기간 : 11/3 ~ 12/20  ( 약 두 달 ) 

2. 사용 교재 : 미친 토익 600+ 교안, 미친토익 750+ 교안, YBM 실전 모의고사 1000제 RC/LC, 해커스 노랭이 단어책 

3. 공부 방법 

   1) 미친 토익 600+ 수강 

   2) 미친 토익 750+ 수강 

   3) 박혜원 ETS TOEIC® 단기 공략 750+ ( LC 만 수강 ) 

   4) YBM 실전 모의고사 풀고 오답 + 단어 정리 

 

4. 토익 인강 추천  

고등학생 때, 모의 토익을 한 번 본 적이 있는데 300~400 점 사이의 점수를 맞았다. 

학창시절 부터 영어를 어려워했고, 토익에 대한 두려움이 있어 대학 시절 내내 도전도 해보지 않다가, 

졸업을 하고 나서야 필요성을 느껴 공부를 하게 되었다. 

 

해** 토익의 인강도 수강해 보았는데 개인적으로 ybm 인강이 더 듣기 편했고 결과도 좋았다. 

나는 YBM 750+ 환급 코스를 수강했고 환급도 받았다!!  : ) 

 

YBM 인강 환급 

 

YBM 인강 중에 '미친토익' 정말 추천한다.  인강이 지루하지 않고 정말 재미있다.

나는 특히 RC 안하나 강사님의 강의력이 정말 좋고 정리도 깔끔하시다고 느꼈다.  

수업 열심히 듣고 정리 잘 하면 문제풀다가 강사님의 목소리가 들리는 것 같은 경험을 할 수 있다..

 

미친 토익 학습 교안

 

기본기가 없는 사람들은 나처럼 600+ 듣고 750+을 들으면 확실히 도움이 많이 될 거라고 자신할 수 있다. 

더 높은 점수로 올리고 싶은 사람들을 850+ 나 900+ 강의를 추천한다. 

나도 듣다가 더 높은 강의를 듣고 싶었는데 750+ 환급코스로는 들을 수 있는 강의가 제한이 있어서 못 들었다.. 

300% 환급코스는 들을 수 있는 강의 제한이 없는 것 같으니 잘 알아보고 선택하면 더 좋을 것 같다. 

 

LC 가 너무 늘지 않는 것 같아서 박혜원 강사님의 ETS TOEIC® 단기 공략 750+ 에서 LC 만 골라 들었다. 

강의 스타일도 좋았고 ( 호불호 있을 것 같기는 하다 ) LC 점수 향상에 아주 큰 도움이 된 것 같다. 

LC 정체기가 온 것 같은 사람들에게 추천하고 싶은 강의이다. 

 

 

마지막으로, 해커스영어에 보면 매일 실전 LC/RC 문제 풀기나 보카마블, 실전 대비 인강 등이 무료로 올라온다. 공부에 집중이 안 될 때 이런 거 하면 기분도 전환되고 은근히 재미있다. 

그리고 토익 시험 보고 나서 해커스 자유 게시판 같은 곳에서 사람들 후기를 읽으며 마음의 안정을 얻을 수 있다.. ㅎㅎ 

또, 틀린 개수 입력하면 점수를 예측해 주는 기능도 있으니 혼자서 공부하다가 지칠 때, 이런 것도 간간히 읽으면 좋을 것 같다. 

 

 

5. 토익 공부 후기 

토익을 시작할 때, 850 이상의 점수가 목표였는데, 12/20 토익 시험에서 870을 맞았다. 

( 사실 잘 못 본 줄 알고 1/9일 시험도 미리 접수해 두었다...  가뿐한 마음으로 보러 갈 예정이다. ) 

토익 점수

 

 

+) 1/9일 성적이 나왔다. 945점!! 성적 나오고 나서 2주간은 영단기 LC 와 ybm RC 1000제 1 을 하루에 하나씩 풀었다. 그리고 모르는 단어를 열심히 정리했다. 

 

01/09 토익 점수

 

 

내겐 영어가 항상 큰 산이었고, 두려움이었고 피하고만 싶은 존재였다. 

다시 한번 말하지만 나 영어 진짜 못한다. 

 

혹시 나 같이 영어가 두려워서 토익이든 토스든 오픽이든 피하고 있는 사람들이 있다면, 일단 도전해 보라고 말해주고 싶다. 사실 코로나 때문에 집에만 있으면서 놀았던 날들도 많아서 공부 2달이나 안 했다. 약 1달만 열심히 하면 누구나 원하는 점수를 얻을 수 있을 것이라고 자부한다. 

 

아, 마지막으로 단어 외우는 것은 토익 시험에서 정말 중요하다. 해커스 노랑이 책도 좋고, 다른 단어 책 들도 좋고 실전 모의고사를 풀어보며 모르는 단어를 몽땅 모아 외우는 것도 좋다. 단어를 많이 외우고, 자주 보면 독해력도 늘고 문제 풀이 속도도 단축되며, 정확도도 늘어난다! 

토익 보는 모든 사람들이 원하는 점수 얻고 토졸했으면 좋겠다. 화이팅! 

 

+) tip 

토익 성적표 저장할 때, '모두의 프린터'라는 프로그램을 사용하면 성적표 관리가 쉽다. 

온라인 출력 -> 모두의 프린터 선택 -> 성적표가 pdf로 컴퓨터에 저장된다. 

 

 

 

 

728x90
반응형
728x90
반응형
# (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19) 

year = list(map(int,input().split()))

for result in range(1,7981):
  if result % 15 == year[0] or ( result%15 == 0 and year[0] == 15 ) :
    if result % 28 == year[1] or (result%28 == 0 and year[1] == 28 ) :
      if result % 19 == year[2] or ( result%19 == 0 and year[2] == 19) :
        print(result)

 

문제에 보면 주어진 시간이 2초로 긴 편이다. 

완전 탐색으로 접근해서 풀어도 무방하다. 

 

주의! 15/28/19 로 나누어 떨어지면 나머지는 0 이지만 표현되는 수는 15 임을 조심! 

728x90
반응형

'백준 > 구현' 카테고리의 다른 글

# 1715 카드 정렬하기  (0) 2021.04.10
# 2309번 : 일곱 난쟁이  (0) 2020.10.15
# 18406: 럭키 스트레이트  (0) 2020.10.07
728x90
반응형
# 난쟁이 키 합이 100 
from itertools import combinations 

height = [] 
for i in range(9):
  height.append(int(input()))

height.sort() 

combi = list(combinations(height,7))

for i in combi : 
  h_sum = 0 
  for k in range(7):
    h_sum += i[k]
  
  if h_sum == 100 : 
    result = i 
    break 

for k in range(7):
  print(result[k])

 

조합 ( combination ) 모듈을 통해 완전 탐색으로 풀이한다. 

조합의 결과는 튜플로 나옴에 유의한다. 

 

from itertools import combinations 

combi = list( combinations( 조합을 사용할 list , 조합할 단위 )) 

 

+ ) 순열은 순서가 의미 있는 조합이며, permutations 로 사용한다. 

728x90
반응형

'백준 > 구현' 카테고리의 다른 글

# 1715 카드 정렬하기  (0) 2021.04.10
# 1476번 : 날짜  (0) 2020.10.15
# 18406: 럭키 스트레이트  (0) 2020.10.07
728x90
반응형
S = input()
count = 1
for i in range(len(S)-1):
    if S[i] != S[i+1]:
        count += 1
print( count//2 )

 

바뀌는 것을 세면, 실제 바뀐 것은 1번 인데 앞, 뒤로 카운트 되기 때문에 마지막에 2로 나누어 준다. 

처음 시작 할 때 바뀌는 것은 1 번만 카운트 되므로 count = 1 부터 시작한다. 

728x90
반응형

'백준 > 그리디' 카테고리의 다른 글

#13305 주유소 파이썬  (0) 2021.03.08
# 4796 캠핑  (0) 2021.03.08
# 1931 회의실 배정  (0) 2020.09.18
# 14720 우유 축제  (0) 2020.09.18
# 11047 동전 0  (0) 2020.09.02

+ Recent posts