본문 바로가기

개인 공부/파이썬16

[프로그래머스 / 파이썬] 자릿수 더하기 , 문자열 내 p와 y의 개수 1. 문제설명 : 자릿수 더하기 다른 사람의 풀이return number%10 + sum_digit(number//10)나의 풀이for i in str(n) : answer += int(i)처음엔 / 와 % 로 풀었는데 그러면 몫을 가져올때 소수점이 남는 문제가 있었다.다른 분들의 풀이를 보며 // 가 있었다는 것을 다시 한 번 상기할 수 있게 됐다.  2. 문제 설명 : 문자열 내 p와 y의 개수 다른 사람의 문제 풀이def solution(s): return s.lower().count('p') == s.lower().count('y')나의 문제 풀이def solution(s): answer = True count_p = 0 count_y = 0 for w in s.. 2024. 7. 24.
[백준알고리즘] 2562번 최댓값 문제풀이나는 이 문제를 풀때 range() 를 10으로 설정했었다.9개의 숫자라고 쓰여있어 0-9 까지를 생각했던 것인데 곰곰히 생각해보니 0-8이어야 9개의 숫자이다.. 그래도 리스트 컴프리헨션을 사용하는 것이 조금 더 파이썬 스러운 코드라고 생각되어 간단하게 적은 것이 다행이라고 생각한다. num = [int(input()) for i in range(9)]print(max(num))print(num.index(max(num))+1)2562 번 문제를 두 번의 for 문을 돌려 풀어야 하는 문제인 것일까 하고 생각을 했다. max()는 잊고 있었지만, .index( ) 라는 인덱스의 번호를 알 수 있는 문법이 있다는 것을 알게 되었다.list.index() :  index()는 리스트 중에서 특정한 .. 2023. 11. 12.
[백준알고리즘] 10818번 최소, 최대 문제풀이min() : 최소값 , max() : 최대값numbers = list(map(int, input().split())) : 입력받은 데이터를 공백 기준으로 나누고 map 을 통해 int로 형 변환을 시켜준 후 리스트에 저장한다.그것을 numbers 변수에 저장한다.cnt = int(input()) numbers = list(map(int, input().split()))print(min(numbers),max(numbers)) 2023. 11. 7.
[백준알고리즘] 10871번 X보다 작은 수 문제풀이이제 조금씩 map() 함수에 대해 이해되어 가고 있는 것 같다.map을 통해 띄어쓰기로 split() 한 후 리스트에 저장한 것을 for문에 돌려 조건식을 비교한다.a,b = map(int,input().split())num = list(map(int,input().split()))for i in range(a): if num[i] 아직 수업 시간에 영향이 계속 남아있는 것 같다. 내가 짠 코딩은 세로로 입력값을 받아 정확하지 않은 코드였다.조금 더 파이썬 코드스러운 코딩을 나도 할 수 있을까? 2023. 11. 2.
[백준알고리즘] 10807번 개수 세기 문제풀이최근 표준모듈을 배우다보니 문제에 총 N개의 정수가 주어졌다고 하여 import random 을 해서 random을 사용하여 풀어야 하는 문제로 알았었다..map(function_name, list data) : 결과를 리스트로 리턴map 반환값 =  map객체 -> 해당 자료형을 list / tuple로 형 변환시켜주어야 한다.n = int(input())li = list(map(int,input().split()))v = int(input())print(li.count(v))# map은 참조값을 보이게 하기 때문에 list안에 감싸야한다 2023. 10. 31.
[백준알고리즘] 11021번 A+B - 7 문제풀이이 문제는 계속 제대로 썼다고 생각했는데 정답이 아니어서 엄청 짜증이 났던 문제.f-string은, print함수 안에서 문자열을 작성하기 위해 사용되며 따옴표 앞에 f를 붙이고 사용한다. { } 괄호 이외에는 일반 문자열처럼 고정된 값으로 출력되고  { } 안의 수는 그때그때의 변수의 값이 출력될 수 있다.1. 틀린 풀이t = int(input())for i in range(1,t+1): a, b= map(int, input().split()) print(f"Case #{i}: {a+b}")2. 정답 풀이T = int(input())for i in range(T+1): a, b= map(int, input().split()) print(f'Case# {i}: {a+b}') .. 2023. 10. 24.
[백준알고리즘] 10951번 A+B - 4 문제풀이처음 보는 문법인 try 와 except역할의 쓰임은 if - else 구문과 유사한 것 같다. (조건을 설정해 놓는지의 유무라고 생각)try:  try 안의 코드 실행 except : try 코드가 안될 경우 except 안의 명령어 수행while True: try: a,b = map(int,input().split()) print(a+b) except: break # 처음 보는 try ~ except 구문 사용 방법 2023. 10. 24.
[백준알고리즘] 10925번 A+B - 5 문제풀이반복문 종류 잘 생각하며 문제 해석하는게 중요하다.while True: a,b = map(int,input().split()) if a == 0 and b == 0: break print(a+b) # 반복문은 많이 사용한다는 걸 스스로 생각해보자면# for (범위를 지정할 때) 아님 while (계속되는 반복을 돌릴 때) 2023. 10. 24.
[백준알고리즘] 2439번 별찍기 -2 문제풀이1. 빈칸을 num -i 번을 반복하고 "*" 을 i번 만큼 반복하여 정렬하였다.2. 위치 정렬 함수 사용 (new)num = int(input())s = "*"for i in range(1,num+1): print(' '*(num-i) +'*'*i) # print(' '*(num-i),'*'*i) # 까먹지 말자. 문장 연결은 '+'num = int(input())for i in range(num): star = "*"*(i+1) print(star.rjust(num))# 위치 정렬 함수 첫 사용 # .rjust() : (오른쪽) 위치 정렬# .ljust() : (왼쪽) 위치 정렬# .center(): (중간) 위치 정렬 2023. 10. 23.