[백준][1157][B1] 단어 공부
[문제] 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. [입력] 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. [출력] 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 파이썬 숙련도에 따라 코드가 천차만별로 변할 수 있는 문제이다. 그동안 배운 문법으로 구현해보자. answer = '' S = input() S = S.upper() alpha_list = ['A','B','C','D','E','F','G','H','I','J','K..
[이코테][Chapter 5]DFS, BFS
재귀 : 하나의 함수를 n,n-1,n-2,... 인자를 바꾸어가며 반복하는 것을 의미한다. "스택" 형태로 작용한다. 스택 : 선입후출. 상자 쌓기와 동일 큐 : 선입선출. 에스컬레이터와 동일 그래프 : 노드끼리 연결 관계를 표현한 자료형을 의미 DFS : 그래프에서, 한 노드를 계속 파고들면서 탐색하는 방식. 위의 그래프에서는 A-B-C-D-... 순이 된다. def dfs(graph, v, visited): #현재 노드를 방문 처리 visited[v] = True print(v, end=' ') #현재 노드와 연결된 다른 노드르 재귀적으로 방문 for i in graph[v]: #그래프 1번 노드 시작. 2,3,8 방문 if not visited[i]: #방문하지 않았다면? dfs(graph, i, ..