map함수를 사용시 첫번째 인자로 함수, 두번째 인자로 스플릿한 문자열을 넣어주었다. map함수의 두번째 인자는 첫번째 인자인 함수의 인자로 각각 들어가게 된다. sum_time += p[i] * (n-i) 수식의 경우 순서대로 각 사람이 걸리는 시간을 뒤에 남은 사람들이 기다려야 하기 때문에 위와 같은 수식을 사용이 가능하다. n = int(input()) # 정수 n 입력받기 p = sorted(list(map(int, input().split()))) # n명의 사람이 돈을 인출하는데 걸리는 시간을 입력받아 정렬하여 리스트 p에 저장 sum_time = 0 # 걸리는 총 시간을 0으로 초기화 for i in range(n): # 0부터 n-1까지 반복문 수행 sum_time += p[i] * (n-..
board = input() # 보드판 입력 받기 # 보드판에서 "XXXX"를 "AAAA"로 대체하기 while "XXXX" in board: board = board.replace("XXXX", "AAAA") # 보드판에서 "XX"를 "BB"로 대체하기 while "XX" in board: board = board.replace("XX", "BB") # 만약 보드판에 "X"가 남아있으면 불가능한 경우이므로 -1 출력 if "X" in board: print(-1) else: print(board) 문자열 치환 메서드 replace() 를 사용하여 풀이
n = int(input()) peopleDic = {} # 빈 딕셔너리 생성 # n번 반복 for _ in range(n): p, c = input().split() # 이름과 출입여부를 입력받음 if c == "enter": # 만약 출입이면 peopleDic[p] = 'enter' # 딕셔너리에 이름을 key로 하고, value는 "enter"를 저장함 else: # 출입이 아니면 if peopleDic[p]: # 딕셔너리에 이름이 저장되어 있으면 del[peopleDic[p]] # 딕셔너리에서 이름을 삭제함 # 딕셔너리의 key를 내림차순으로 정렬하여 출력함 for people in sorted(peopleDic, reverse=True): print(people) 파이썬 딕셔너리 사용 C# 과 ..
N = int(input()) #range N 만큼 순회 for _ in range(N) : #리스트 값 할당 oxlist = list(input()) cnt = 0 sumCount = 0 for i in oxlist : if i == 'O' : cnt += 1 sumCount += cnt else : cnt = 0 print(sumCount)
N = int(input()) M = input() sum = 0 #i값은 문자열 M의 char for i in M : sum += int(i) print(sum) # =================== # sum 함수 사용 n = input() print(sum(map(int,input()))) # =================== # 일반적인 for문 사용 n = int(input()) nums = input() total = 0 for i in range(n) : # 0부터 n-1까지 total += int(nums[i]) print(total) 추가적으로 알게된 부분 파이썬에서의 for문의 반복 범위 지정은 문자열을 사용이 가능하고 해당 문자열의 char 값을 i에 반환 한다. 이를 이용해 fo..
# 목표 숫자 문자열 타입으로 받기 n = input() #나눌 숫자 int 타입으로 받기 f = int(input()) #문자열로 받은 목표 숫자의 뒤에서 세번째 문자 까지 슬라이싱 후 00을 붙여 정수 변환 a = int(n[:-2] + '00') # while 문 사용시 명시적으로 () 안에 조건을 넣어줘도 되고 아니면 그냥 써도 된다. while True: if a % f == 0: break a += 1 #출력시 정수타입 a변수를 문자열로 변환 후 뒤에서 두번째 문자 까지만 출력 print(str(a)[-2:]) 새로 배운 부분 -파이썬의 while 문- 명시적으로 소괄호 () 안에 조건을 넣어줘도 되고 그냥 그대로 사용해도 된다. -파이썬의 자료 타입 변환- 정수타입으로 변환 : int() 문..
# 연도를 계산할 정수 변수 선언 후 초기화, E,S,M,count = 1,1,1,1 #입력받은 연도 ENum, SNum, MNum = map(int,input().split()) #while문 사용 break 전까지 반복 파이썬에서의 부울값은 대문자 while(True): #만약 계산용 변수가 목표하는 변수와 같다면 break if ENum == E and SNum == S and MNum == M: break # 1씩 늘리며 카운트 E += 1; S += 1 ;M += 1 ; count += 1 if E>=16 : E-=15 if S>=29 : S-=28 if M>=20 : M-=19 # 출력 print(count) 브루트포스는 while 또는 for 등의 반복문 사용이 많기 때문에 파이썬에서 의 반..
코드 #학생수 입력받기 input() 함수 사용 num_student = int(input()) # 학생들의 몸무게와 키를 담을 리스트 생성 student_list = [] # for 문을 돌며 (변수 없이) num_student 숫자 만큼 반복 for _ in range(num_student): # 무게와 키 변수에 map함수를 사용하여 정수 타입의 숫자를 담는다 weight, height = map(int, input().split()) # 학생 리스트에 키와 몸무게를 넣는다. student_list.append((weight, height)) # for문을 돌며 학생리스트를 순회, 학생리스트의 값을 i에 담는다 for i in student_list: #랭크 변수 초기화 rank = 1 #for문을..
while True: try: n = int(input()) except: break num = 0 i = 1 while True: num = num*10 + 1 num %= n if num == 0: print(i) break i+=1 먼저 n을 입력받는다 ( 타입 (Input()) 사용) . num을 0으로 초기화하고, i를 1로 초기화. num에 10을 곱한 뒤 "1"을 추가하여 이전의 num값과 더한다 . 그 후 num을 n으로 나눈 나머지를 구한다. 만약 num이 0이라면, i를 출력하고 while문을 종료. 그렇지 않다면, i를 1 증가시킨다. 파이썬 Input 함수 n = input() 이와 같이 사용자로부터 입력을 받아 값을 변수 n에 저장하는 파이썬 함수이다. 파이썬에서는 int(), f..
#정수형 a = 1000 #출력 print (a) #음수 a = -7 print(a) #0 a = 0 #실수형 #양의 실수 a = 157.93 print(a) #음의 실수 a = -1837.2 print(a) #소수부가 0일때 0을 생략 a = 5. print(a) #정수부가 0 일때 0을 생략가능 a = -.5 print(a) #10억 지수 표현 a = 1e9 print(a) #752.5 a = 75.25e1 print(a) #3.954 a = 3954e-3 print(a) a = 0.3 + 0.6 print(a) if a == 0.9 : print(True) else : print(False) #round 함수의 인자를 하나만 넣을 경우 소수점 첫째 자리에서 반올림 print(round(a,4)) i..