일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BTP
- module
- 클래스
- ABAP
- udemy
- 이클립스
- BOBF
- 개발
- visual studio code
- BOPF
- tm
- 자바
- html
- S/4HANA
- 백준 알고리즘
- SAP 번역
- 자바 클래스
- mac
- Fiori
- 맥북
- 파이썬
- ui5
- Deep Learning
- 알고리즘
- Eclipse
- python
- Algorithm
- sap
- java
- FPM
- Today
- Total
목록Algorithm/Algorithm 문제풀이 (5)
z2soo's Blog
문제 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 ''' 1: 집이 있는 곳 0: 집이 없는 곳 연결된 집들의 모임 = 단지 단지의 총 수, 각 단지의 집 수(오름차순) 출력 ''' # 행, 열 갯수 입력 받음 N = int(input()) # 연결 정보 저장용 myList = [] # 방문 표시 및 결과 visited = [[0 for _ in range(N)] for i in range(N)] # 연결 정보 입력 받음 for _ in range(N): m = list(input()) m = [int..
문제 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 풀이 # DFS 함수 생성 def dfs(V, myList, visited): if visited[V] == 0: #만약 방문하지 않았다면 visited[V] = 1 #방문하고 result.append(V) #방문 순서 저장하고 for node in myList[V]: #방문한 정점들에 대해 같은 과정 실행 dfs(node, myList, visited) return(result) # BFS 함수 생성 def bfs(V..
문제 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 풀이 # 입력받기 N, M = map(int, input().split()) #행, 열 갯 myList = [] #행, 열 정보 저장용 for _ in range(N): m = list(input()) m = [int(_) for _ in m] myList.append(m) visited = [[0 for _ in range(M)] for i in range(N)] #방문지점 체크용 result = [[0 for _ in range(M)] for i in range(N)] #방문하기 위해..
문제 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 풀이 word = input().upper() checked = [] num_now = 0 for _ in word: if _ not in checked: checked.append(_) n = word.count(_) if num_now == n: word_result = "?" elif num_now < n: num_now = n word_result = _ # 이 부분 때문에 틀린 답이 되어 주석처리함 # if word_result == "?": # break print(word_re..
문제 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 풀이 n, m = map(int, input().split()) list_a = [] list_b = [] for _ in range(n): temp_list = list(map(int, input().split())) list_a = list_a + temp_list for _ in range(n): #처음에 m으로 작성하는 바람에 정방행렬이 아닌 경우 오류 발생 temp_list = list(map(int, input().split()))..