본문 바로가기
  • The future is ours
반응형

파이썬18

백준 알고리즘 10807번 개수 세기 (파이썬, python) 이 문제는 주어진 숫자들 중 num으로 주어지는 숫자와 똑같은 수가 몇개가 있는지 파악하는 문제이다. 우선 a를 통해 주어지는 숫자의 개수를 정하고, list(map(int,input().split()))을 통해 리스트에 필요한 만큼의 수를 입력한다. 그 다음으로는 num으로 리스트 내의 필요한 숫자가 무엇인지 제시를 한다음 마지막으로 리스트 안에서 num과 같은 숫자가 몇개 있는지 카운트해서 출력하면 되는 매우 간단한 문제이다. /// a=int(input()) l=list(map(int,input().split())) num=int(input()) print(l.count(num)) /// 단순히 입출력 방법과 리스트에 숫자들을 필요한 만큼 넣는 list(map)구문만 안다면 어려울 것이 없는 문제이.. 2023. 8. 19.
파이썬 반복문 for, while 파이썬으로 같은 문자를 반복해서, 또는 주어진 리스트나 숫자 등을 순서대로 출력하고 싶을 때는 어떻게 할까? 일일이 각 문자의 index를 print하는 것으로 해결할 수 있겠지만, 너무나 비효율적일 것이다. 이럴때 필요한 개념이 for, while 이다. 아마 파이썬을 배울때 가장 기초가 되는 구문 중 하나가 아닐까 싶을 정도로 자주 쓰이고, 그만큼 배우게 되는 시간도 빠른 편이다. 하지만 간혹 가다가 이 구문을 이해를 못하거나, for과 while의 차이점을 모르는 사람들이 더러 있다. 그렇다면 과연 이 구문들은 어떻게 쓰이는 것일까? 먼저 while구문을 보자. while구문은 영어 표현 그대로 while의 조건에 적합한 상황이라면 계속해서 반복되는 구문이다. 예를들어 while i>1:이라는 구문.. 2023. 8. 18.
백준 알고리즘 2920번 음계 (파이썬, python) 이 문제는 주어진 리스트의 수가 지속적으로 상승하는지, 하락하는지, 아니면 랜덤인지만 파악하면 되는 간단한 문제이다. list(map(int,input().split()))을 이용해 리스트에 각 숫자를 넣고, for구문을 이용해 리스트의 길이만큼 리스트 내의 숫자의 순서가 상승 또는 하락, 아니면 랜덤인지 확인하면 된다. 한번 시도해보자. /// s=list(map(int,input().split())) a=0 d=0 for i in range(len(s)): if s[i]==i+1: a+=1 elif s[i]==len(s)-i: d+=1 if a==8: print("ascending") elif d==8: print("descending") else: print("mixed") /// 먼저 s를 리스트.. 2022. 5. 11.
프로그래머스 코딩테스트 연습 완주하지 못한 선수(Python) 이 문제에서 요구하는 것은 참가자들 중 탈락한 참가자의 이름을 탐색하는 것이다. 처음 이 문제를 봤을 때, 꽤나 복잡해 보였지만 마라톤 경기에 참가한 선수의 수와 참가자 중 1명을 뺀 모두가 성공했다는 전제가 깔려있기에 쉽게 풀 수 있었다. 우선 정렬과 반복문 개념만 알고있어도 충분히 풀 수 있는 문제가 아닐까 싶다. 아래에 식을 적고, 이 식에 대한 풀이를 이어나가보겠다. /// def solution(participant,completion): answer='' participant.sort() completion.sort() for i in range(len(completion)): if participant[i]!=completion[i]: answer=participant[i] break if .. 2022. 5. 5.
백준 알고리즘 2739번 구구단(파이썬, python) 이번 문제는 for구문과 사칙연산의 부호에 대해 이해하고 있다면 단번에 이해할 수 있을 문제이다. 주어진 수 n에 1부터 9까지 곱하여 출력하는 것이므로, for구문을 통해서 1부터 9까지의 수를 n에 곱해주겠다. for i in range(1,10)이렇게 하고, 주어진 수 n에 i를 곱하는 방식을 취한다면 풀기 쉬울 것으로 예상된다. 물론 i와 n모두 int이기에 에러도 발생하지 않을 것이다. /// n=int(input()) for i in range(1,10): print(n*i) /// 이렇게 조합을 해본다면 답안의 수는 출력이 된다. 하지만 문제에서 주어진 "식"은 출력이 안되기에 틀린 것으로 출력이 된다. 그렇다면 이 부분을 보완해보자. /// n=int(input()) for i in ran.. 2022. 5. 1.
반응형