알고리즘 문제풀이
8958번
# O가 들어오면 처음엔 1 연속으로 들어오면 1+2+3....하다가 X가 들어오면 +0 다시 O가 들어오면 +1 + 2
n = int(input())
for i in range(n):
a = input()
a_list = list(a) # a를 리스트화 시켜준다.
cnt = 1 # O가 들어오면 처음에 들어올 때 1을 더해줘야하기 때문에 cnt의 초기 값은 1
total = 0 # cnt 를 전부 더해준 값
for j in a_list:
if j == "O": # 만약 j 가 O 면
total += cnt # total = cnt + 1
cnt += 1 # cnt = cnt+1
else:
cnt = 1 # j 가 X 면 cnt 를 1로 초기화
print(total)
2908번
# 입력 값 a,b 를 받는데 a, b를 역순으로 하여 더 큰 수를 출력 ex) 734 => 437
a, b = list(map(str, input().split()))
a_list = list(a)
a_list.reverse() # 리스트를 역순으로
b_list = list(b)
b_list.reverse()
a_total = a_list[0] + a_list[1] + a_list[2] # 역순으로 한 값을 합쳐준다 (현재 스트링 형태이기 때문에 문자 더하기가 된다.)
b_total = b_list[0] + b_list[1] + b_list[2]
int(a_total) # 데이터타입을 int 로 바꿔준다.
int(b_total)
print(max(a_total, b_total)) # 둘 중 큰 값을 출력해준다.
2455번
# 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 종착역이 있는 노선에서 운행됨
# 이 기차에는 타거나 내리는 사람수를 자동으로 인식할 수 있는 장치가 있음
# 이 장치를 이용하여 출발역엣거 종착역까지 가는 도중 기차 안에 사람이 가장 많을 때의 사람 수를 계산하려고 함
# 기차에 타는 사람들은 모두 내리고 탐
stations = 4
people = 0
most_station = []
for station in range(stations):
get_off, take = map(int, input().split())
people = people + take - get_off
most_station.append(people)
print(max(most_station))
1546번
# 기말고사를 망친 세준이 성적표 조작을 한다.
# ex) 세준이 최고점 70 , 수학점수 50 이라하면 점수계산법 : 50(수학점수) / 70(최고점)*100 = 71.43
# 이 방법으로 했을 때의 평균 구하기
n = int(input())
scores = list(map(int, input().split()))
max_score = max(scores)
new_score = []
for i in scores:
i = i / max_score * 100
new_score.append(i)
avg = sum(new_score) / n
print(avg)
1157번
# 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성 단, 대문자와 소문자 구분 x
# 입력 : 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어짐
# 출력 : 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력 단, 가장 많이 사용된 알파벳이 여러개 존재하는경우 ?를 출력
# 문제 접근 방식 : 대소문자 구분을 하지 않기 위해 모두 대문자로 변환
words = input().upper()
set_words = list(set(words))
max_word_cnt = []
for word in set_words:
word = words.count(word)
max_word_cnt.append(word)
if max_word_cnt.count(max(max_word_cnt)) > 1:
print("?")
else:
max_index = max_word_cnt.index(max(max_word_cnt))
print(set_words[max_index])
알고리즘은 확실히 문제를 많이 푸니 문제의 접근 방식이라던지
문제를 보고 생각하는 사고방식이 처음과 틀려진 것 같다!
문제 푸는 실력이 어느 정도 느는 것 같아서 기분이 좋다!
아직은 갈길이 멀지만... 열심히 공부하면 할 수 있다는 희망이 점점 생기는 것 같아
기분이 좋다!!
열심히 공부해야겠다! 파이팅!!
👍👍✍️✍️✍️
'알고리즘' 카테고리의 다른 글
TIL] 알고리즘 문제풀이[백준] (10773번, 10828번, 1929번, 1934번, 9012번) (0) | 2021.06.22 |
---|---|
TIL]알고리즘공부법 (0) | 2021.06.20 |
TIL] 알고리즘 문제풀이[백준] (1152번, 1157번) (0) | 2021.06.19 |
TIL] 알고리즘 기초 (0) | 2021.06.18 |
TIL] 알고리즘 문제풀이 [백준] (1037, 2609, 10250) (0) | 2021.06.17 |