[파이썬][문제] map(int, input().strip().split(' '))

2024. 1. 3. 16:52·공부기록/파이썬

프로그래머스 문제를 푸는데

코드업에서는 a랑 b를 공백으로 띄어서 입력받을 때

a,b = input().split() 

이런식으로 했었는데 여기서는 map 함수를 쓰길래 map 함수는 어떤 걸 하는지 궁금했다. 

 

 

a, b = map(int, input().strip().split(' '))

 

 

input().strip()은 사용자로부터 받은 입력뒤에 공백이 있으면 제거하고, split()은 문자열에서 파이썬 리스트 만들 때 사용되는데 공백을 기준으로 문자열을 나눈다.

map() 함수는 2개의 파라미터를 받는데 map(받을 데이터 타입, 받을 데이터) 받은 데이터를 받은 데이터 타입으로 반환한다. split() 이렇게 해도 default 값이 공백으로 설정되어 있음. 

 

예전에 input().split() 만 알 때는 그 int로 설정할 때 항상 

a,b = input().split()
a = int(a)
b = int(b)

이런식으로 하나하나 바꿔주었었는데

 

map 함수를 이용하면

a, b = map(int, input().strip().split(' '))

 

한줄에 쓸 수 있다는 장점이 있다.

 


[프로그래머스]

대소문자 바꿔서 출력하기

 

 

내 풀이

string = input()

for i in range(0, len(string)):
    a = string[i]
    b = a.upper()
    if a == b:
        print(string[i].lower(),end = "")
    else :
        print(string[i].upper(),end = "")

 

나는 이렇게 했는데

다른 사람의 풀이..

print(input().swapcase())

 

여기서 swapcase() 함수는 대소문자는 소문자로, 소문자는 대문자로 바꿔주는 기능을 한다. 

 

한 줄로 끝내는 걸 보고 이런식으로도 사용할 수 있구나 라는 걸 알게 되었음.

str = input()
for i in str:
    if i.islower():
        print(i.upper(),end='')
    else:
        print(i.lower(),end='')

 

이런식으로 islower 함수도 있고..

 


 

문자 형식과 관련된 함수에는 

isupper : upper(대문자) 형식이면 True, 아니면 False

islower : lower(소문자) 형식이면 True, 아니면 False

istitle : title(첫문자만 대문자, 나머지는 소문자일 때) 형식이면 True, 아니면 False

isspace : 공백일 경우 True, 아니면 False

 

숫자형 string에 적용할 수 있는 함수에는 (3개가 미묘하게 다름)

isnumeric : 숫자형일 경우 True, 아니면 False (제곱근, 분수는 True, 특수문자가 포함되면 False)

isdecimal : 숫자일 경우 True, 아니면 False(0~9까지의 수로 이루어져있니?) (문자열이 int로 변환 가능하면 True)

isdigit : 숫자일 경우 True, 아니면 False (문자열이 숫자처럼 생겼으면 True, 아니면 False)

 

문자열에 적용가능한 함수에는

isidentifier : 함수 대입 string이 식별가능하면(숫자로 시작하면 X) True, 아니면 False

isalnum : 문(영어, 한글, 숫자)로 이루어진 형태일 때 True, 아니면 False

isascii : 입력된 문자가 아스키 형식을 만족하면 True, 아니면 False

isalpha : 문자(영어, 한글 등)만 들어있을 경우 True, 아니면 False

isprintable : 문자열이 출력 가능하면 True, 아니면 False

 

 


 

이건 다른 문제였는데 나는 print(a,"+",b) 이런식으로 썼는데 저렇게 쓰는 방법도 있었는데 까먹고 있어서 다시 한번 상기 시키고자 추가 했음.

a,b = map(int, input().strip().split(' '))
print(f"{a} + {b} = {a + b}")​

 

 

앞으로도 문제 풀면서 헷갈리는 부분이나 몰랐던 부분 있으면 조금씩 올릴 예정이다

 

반응형

'공부기록 > 파이썬' 카테고리의 다른 글

[파이썬 알고리즘 인터뷰] 1. 유효한 팰린드롬 (leetcode 125)  (1) 2024.01.10
[파이썬][CodeUp]기초100문제  (2) 2024.01.02
[파이썬] 자료구조 (2) 파이썬 기본문법  (1) 2024.01.02
'공부기록/파이썬' 카테고리의 다른 글
  • [파이썬 알고리즘 인터뷰] 2. 문자열 뒤집기 (leetcode 344)
  • [파이썬 알고리즘 인터뷰] 1. 유효한 팰린드롬 (leetcode 125)
  • [파이썬][CodeUp]기초100문제
  • [파이썬] 자료구조 (2) 파이썬 기본문법
쇼파죠하
쇼파죠하
소프트웨어학과 코린이 성장기
  • 쇼파죠하
    코린이의 성장기
    쇼파죠하
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • TIL
        • 한달 기록
      • 신한투자증권 N
        • 프로 디지털 아카데미 N
      • 공부기록 N
        • AWS
        • 트러블슈팅 N
        • 머신러닝
        • 알고리즘
        • 자료구조알고리즘
        • CS
        • 파이썬
      • 코린이의 성장기
        • 코린이의 백준 도전기
        • 코린이의 성장기
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 프디아
    • AWS
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    K디지털트레이닝
    부트캠프
    네트워크
    백준
    파이썬알고리즘인터뷰
    aws 구조와 서비스
    c언어
    프로디지털아카데미6기
    9월기록
    CS
    react
    JavaScript
    AWS
    알고리즘
    알파코캠퍼스
    프로 디지털 아카데미
    신한투자증권
    전공지식노트
    kdt교육
    코린이
    AI 전문과과정
    프로디지털아카데미
    LG Aimers
    알파코
    영리한 프로그래밍을 위한 알고리즘
    파이썬
    Computer Networking: a top down approach
    클라우드
    파이썬문법
    프디아
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
쇼파죠하
[파이썬][문제] map(int, input().strip().split(' '))
상단으로

티스토리툴바