import sys

n_input = sys.stdin.readline
alphabet = n_input().upper().rstrip()  
# 대소문자 구분하지 않고 처리하기 위해 대문자화 시킵니다.
count = 0
result = '' # 알파벳 저장소
for i in set(alphabet): # set에 넣어 중복을 제거합니다. 같은 알파벳을 카운트 하는 것을 방지합니다.
    if i.isalpha():  # 알파벳인 경우에만 처리
        if alphabet.count(i) > count:
            # 집합에 속하는 각각의 문자의 횟수를 계산합니다.
            count = alphabet.count(i)
            # 현재까지 가장 많이 등장한 알파벳을 저장합니다.
            result = i
        elif alphabet.count(i) == count:
            result = '?'
            # 동률일 경우 ?를 반환합니다.
print(result)

'코딩 연습 > 백준 코드' 카테고리의 다른 글

덩치-7568.py  (0) 2023.10.15
단어 정렬-1181.py  (0) 2023.10.15
다리 놓기 1010.py  (0) 2023.10.15
나이 순 정렬-10814.py  (0) 2023.10.15
국영수-10825.py  (0) 2023.10.15
import math
import sys
n_input = sys.stdin.readline
# 조합을 이용하여 다리를 지을 수 있는 경우의 수를 계산합니다.
def bridges(N, M): # M은 동쪽 사이트, N은 서쪽 사이트
    return math.comb(M, N) #(M, N) = M! / (N! * (M-N)!)
C = int(n_input())
# 케이스 수만큼 반복
for _ in range(C):
    # 강의 서쪽과 동쪽에 있는 사이트의 개수 N과 M을 입력받음
    N, M = map(int, n_input().split())
    # bridges 함수를 호출하여 다리를 지을 수 있는 경우의 수를 계산하고 출력
    print(bridges(N, M))

 

'코딩 연습 > 백준 코드' 카테고리의 다른 글

덩치-7568.py  (0) 2023.10.15
단어 정렬-1181.py  (0) 2023.10.15
단어공부-1157.py  (0) 2023.10.15
나이 순 정렬-10814.py  (0) 2023.10.15
국영수-10825.py  (0) 2023.10.15
import sys

n_input = sys.stdin.readline
n = int(n_input())

members = []

for i in range(n):
    age, name = n_input().split()
    # split()를 사용하여 공백을 기준으로 구별하였습니다. "age name" ->  "age" "name"

    members.append((int(age), name.strip(),i))
    #i를 이용하여 기입순서대로 정렬되게 하였습니다.
    # age는 int형식으로, name은 그대로 입력됩니다.
    #strip()를 이용하여 불필요한 개행문자를 제거하였습니다.
members.sort(key=lambda x: (x[0], x[2]))
    # 오른차순 정렬
for member in members:
    print(member[0], member[1])

'코딩 연습 > 백준 코드' 카테고리의 다른 글

덩치-7568.py  (0) 2023.10.15
단어 정렬-1181.py  (0) 2023.10.15
단어공부-1157.py  (0) 2023.10.15
다리 놓기 1010.py  (0) 2023.10.15
국영수-10825.py  (0) 2023.10.15
import sys
n_input = sys.stdin.readline
N = int(n_input())

students = []

for _ in range(N):

    name, kor, eng, math = n_input().split()
    students.append((name, int(kor), int(eng), int(math)))
    # 학생 정보를 튜플로 생성하여 리스트에 추가합니다.

students.sort(key=lambda x: (-x[1], x[2], -x[3], x[0]))
# 학생 정보를 정렬하는데 사용할 정렬 기준을 람다 함수로 지정하여 정렬합니다.

for student in students:
    print(student[0])

'코딩 연습 > 백준 코드' 카테고리의 다른 글

덩치-7568.py  (0) 2023.10.15
단어 정렬-1181.py  (0) 2023.10.15
단어공부-1157.py  (0) 2023.10.15
다리 놓기 1010.py  (0) 2023.10.15
나이 순 정렬-10814.py  (0) 2023.10.15
import numpy as np

def solution(info, edges):
    N = len(info)
    visited = np.zeros(N, dtype=int)  # 노드 방문 여부를 저장하는 배열 (0: 미방문, 1: 방문)
    visited[0] = 1  # 루트 노드는 항상 방문으로 설정
    answer = []  # 최대 양의 개수를 저장할 리스트

    def dfs(sheep, wolf):
        if sheep > wolf:  # 현재 양의 개수가 늑대의 개수보다 많은 경우
            answer.append(sheep)  # 최대 양의 개수를 갱신
        else:
            return  # 양이 늑대보다 적거나 같은 경우, 더 이상 진행하지 않음

        for i in range(len(edges)):  
            parent, child = edges[i]  # 부모와 자식 노드를 가져옴
            isWolf = info[child]  # 현재 자식 노드가 늑대인지 양인지 확인

            # 부모 노드는 이미 방문했고 자식 노드는 방문하지 않은 경우에만 진행
            if visited[parent] and not visited[child]:
                visited[child] = 1  # 자식 노드를 방문으로 설정
                dfs(sheep + (isWolf == 0), wolf + (isWolf == 1))  
                visited[child] = 0  # 재귀 호출이 끝나면 다시 방문하지 않은 상태로 변경

    dfs(1, 0)  # 루트 노드에서 DFS 시작
    return max(answer)  # 최대 양의 개수 반환
 

오류가 있거나, 개선점이 있으면 언제든지 알려주세요!

 

'코딩 연습 > 프로그래머스 코드' 카테고리의 다른 글

윤년.py  (0) 2023.10.19
개인정보 수집 유효기간.py  (1) 2023.10.19
사분면 고르기.py  (0) 2023.10.19

+ Recent posts