본문 바로가기

파이썬알고리즘79

20210811#(78) 백준 1316번 그룹 단어 체커 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net ○ 풀이 n = int(input()) nsum = 0 for i in range(n): word = input() error = 0 for i in range(len(word)-1): if word[i] != word[i+1]: new_word = word[i+1:] if new_word.count(word[i]) > 0: error += 1 if error ==.. 2021. 8. 12.
20210810#(77) 백준 1514번 잃어버린 괄호 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net ○ 느낀 점 split() 함수를 생각보다 모르고 있었다는 것을 알게 됨 ○ 풀이 alist=input().split('-') num=[] for i in alist: cnt=0 s=i.split('+') for j in s: cnt+=int(j) num.append(cnt) n=num[0] for i in range(1,len(num)): n-=num[i] print(n) # 55-50+4.. 2021. 8. 10.
20210810#(76) 백준 1715번 카드 정렬하기 https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 처음으로 풀어본 골드 문제.. 골드 문제 중에서는 난이도가 낮은 문제인 것 같다. 다만 import heapq를 이용하는 우선순위 큐를 통해 풀수있기에 난이도가 좀 높게 책정된 것 같다. ○ 코드 import heapq n=int(input()) cards=[] for i in range(n): heapq.heappush(cards,int(input())) ans=0 while le.. 2021. 8. 10.
20210808#(75) 백준 문자열문제풀이(백준 6문제) # 문자열 # 1) https://www.acmicpc.net/problem/8958 # n=int(input()) # testcase=[] # for i in range(n): # testcase.append(list(input())) # # print(testcase) # testresult=[] # for i in range(n): # count=0 # result=0 # for j in range(len(testcase[i])): # if testcase[i][j]=='O': # count+=1 # if testcase[i][j]=='X': # count=0 # result+=count # testresult.append(result) # for i in range(n): # print(testr.. 2021. 8. 8.
20210806#(74) 백준 2267번 단지번호붙이기 (dfs,bfs) https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net #풀이 n=int(input()) graph=[] num=[] dx=[0,0,-1,1] dy=[-1,1,0,0] for i in range(n): graph.append(list(map(int,input()))) def dfs(x,y): if x=n or y=n: return False if graph[x][y]==1: global count #전역변수 global 선언 count+=1 graph[.. 2021. 8. 6.
20210806#(73) 백준 1260번 DFS와 BFS https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 제출 코드-------------------------------------------------------------------------------------------------------------------------------------- def dfs(v): print(v, end=' ') visit[v]=1 for i in range(1, n+1.. 2021. 8. 6.
20210805#(72) 이코테 미로탈출 DFS/BFS 문제 2021. 8. 5.
20210804#(71) DFS/BFS 개념 드디어 dfs/bfs 감잠았다!👍 이제 예제를 풀어보자 2021. 8. 4.
20210802#(70) 개미 전사 (DP) 2021. 8. 2.