Nerd
Nerd
Nerd
전체 방문자
오늘
어제
  • 분류 전체보기 (439)
    • Today I Learned (333)
    • 주간회고 (8)
    • FrontEnd (5)
    • ErrorNote (7)
    • 자바스크립트 (24)
    • 알고리즘 (13)
    • html과 css (21)
    • 토이프로젝트 (5)
    • React-Native (1)
    • React (13)
    • node (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • npm i
  • pacakge.json
  • 파이썬 기초
  • React
  • 토이 프로젝트
  • 선언적 프로그래밍
  • Redux
  • 토이프로젝트
  • 에러노트
  • 모던 자바스크립트
  • 파이썬기초
  • 리덕스 툴킷
  • JSX
  • 메타인지
  • package-lcok.json
  • 값의 할당 및 재할당
  • wil
  • 주간회고
  • npm ci
  • 절차지향적 프로그래밍
  • 데이터 타입
  • 명령적 프로그래밍
  • 3FS
  • 리액트 훅
  • 리액트
  • 코드숨
  • TIL
  • ErrorNote
  • Today I Learned
  • 자바스크립트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Nerd

Nerd

알고리즘

TIL] 알고리즘 문제풀이[백준] (8958번, 2908번, 2455번, 1546번, 1157번)

2021. 6. 20. 01:52

알고리즘 문제풀이

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
    '알고리즘' 카테고리의 다른 글
    • TIL] 알고리즘 문제풀이[백준] (10773번, 10828번, 1929번, 1934번, 9012번)
    • TIL]알고리즘공부법
    • TIL] 알고리즘 문제풀이[백준] (1152번, 1157번)
    • TIL] 알고리즘 기초
    Nerd
    Nerd
    꾸준히 열심히 지속적으로 하겠습니다!

    티스토리툴바