본문 바로가기

파이썬 프로그래밍/파이썬 심화

[Python] 파이썬 짝수단을 구구단 출력하기(2단,4단,6단) 입력한 구구단을 출력하기는 따로 게시글이 있습니다 (클릭) 문제) 구구단의 2,4,6,8,10단을 출력하는 구구단을 만들어라. 구구단의 알고리즘을 알고있다면 매우 쉬운 문제입니다. 어떻게 풀어나가야 할까요? 구구단에 쓰이는 반복문은 2개입니다. X * Y 이렇게 두개죠?우린 이X를 2~10까지 2씩 증가시키면 되겠습니다. 코드로 알아보죠1234for x in range(2, 11 ,2): print("===={}단====".format(x)) for y in range(1,10): print("{} * {} = {}".format(x,y,x*y))cs 1번째줄에 왜 11까지인가 의문을 품는분들이 계실수 있습니다. 이유는 파이썬에서 범위를 정할때 x이상~y미만 으로 알아듣기 때문에 미만은 포함을 하지 않죠.. 더보기
[Python] 파이썬예제. 행렬곱셈(2byte) 풀이 본 게시글은 2byte의 행렬곱셈만 가능한 코드입니다. 행렬 A: [1, 2] [3, 4] 행렬B: [5 ,6] [7, 8] 2byte인 두 행렬의 곱셈을 하는 코드를 구하시오 행렬의 곱셈 이해하기먼저 행렬을 기본적으로 표현하면 이렇게 됩니다. 행렬의 곱셈은 A와 B는 처럼 묶여서 움직입니다. 들어가기전 주소값은 이렇게 표현할 수 있습니다. 이제 행렬의 곱셈을 섹션으로 나눠서 살펴보겠습니다.우리는 알고리즘을 생각해야 하니 주소값에 맞춰서 생각해보겠습니다.총 4섹션으로 이루어져 있습니다.섹션1에서 상단박스와 하단박스를 더하는 식으로 구성되며, 곱할 수의 주소값을 주황색으로 표시해 보았습니다. 섹션 2입니다. 섹션3 입니다. 섹션4 입니다.여기까지 섹션마다 어떻게 행렬의 곱셈이 되는지 감이 오실겁니다.이제 .. 더보기
[Python] 파이썬 예제. 같은 숫자는 싫어. 중복된 숫자 삭제하 본 문제는 http://tryhelloworld.co.kr/ 에 있는 문제를 가지고 풀이한 것입니다. 문제no_continuous함수는 스트링 s를 매개변수로 입력받습니다.s의 글자들의 순서를 유지하면서, 글자들 중 연속적으로 나타나는 아이템은 제거된 배열(파이썬은 list)을 리턴하도록 함수를 완성하세요. 예를들어 다음과 같이 동작하면 됩니다.s가 '133303'이라면 ['1', '3', '0', '3']를 리턴s가 '47330'이라면 [4, 7, 3, 0]을 리턴 123456def no_continuous(s): # 함수를 완성하세요 return [] # 아래는 테스트로 출력해 보기 위한 코드입니다.print( no_continuous( "133303" ))cs 풀이123456789101112def .. 더보기
[Python] Set. 예제를 통한 집합 기초 개념잡기 들어가기 전에.파이썬에서는 자료형을 시퀀스데이터와 시퀀스 데이터가 아닌것으로 나눌 수 있습니다.시퀀스: 순서를 정하는것즉. 순서를 정하는 것과 순서를 정하지 않는 것으로 나눌 수 있다는 말입니다. 대표적인 시퀀스 데이터(순서를 정함)- String, list, tuple 시퀀스가 아닌 데이터(순서와 관련이 없음)- Set, dictionary Set(집합)집합의 정의: 서로가 구별되는 대상들을 순서와 무관하게 모은것.집합의 성질: 중복을 허락하지 않는다. 집합의 영어표기집합: Set합집합: union차집합: diffrenece교집합: intersection대칭차집합: Symmetric differenceA와 B가 있을때 A,B의 대칭 차집합을 구하라 한다면, 교집합만 빼고 출력한다고 보면 됩니다.즉 A,.. 더보기
[Python] 파이썬 예제. 행렬의 덧셈 본 게시글은 http://tryhelloworld.co.kr/ 에 있는 문제를 참고하여 풀이한 것입니다.문제행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요.예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.) 1234567def sumMatrix(A,B): answer = [] return answer # 아래는 테스트로 출력해 보기 위한 코드입니다.print(sumMatrix([[1.. 더보기
[Python] 파이썬 예제. 가운데 글자 가져오기 게시글의 문제는 http://tryhelloworld.co.kr/ 에서 가져온 문제를 풀이한 것입니다.문제getMiddle메소드는 하나의 단어를 입력 받습니다. 단어를 입력 받아서 가운데 글자를 반환하도록 getMiddle메소드를 만들어 보세요. 단어의 길이가 짝수일경우 가운데 두글자를 반환하면 됩니다. 예를들어 입력받은 단어가 power이라면 w를 반환하면 되고, 입력받은 단어가 test라면 es를 반환하면 됩니다. 1234567def string_middle(str): # 함수를 완성하세요 return "" # 아래는 테스트로 출력해 보기 위한 코드입니다.print(string_middle("power"))cs 풀이12345678910def string_middle(str): # 함수를 완성하세요 i.. 더보기
[Python] 파이썬 예제. 피보나치 수 풀이 본 게시글은 http://tryhelloworld.co.kr/ 에서 출제된 문제를 가지고 풀이한 글입니다. 문제피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다.1234567def fibonacci(num): answer = 0 return answer # 아래는 테스트로 출력해 보기 위한 코드입니다.print(fibonacci(3))cs 풀이1234567891011def fibonacci(num): answer = [0,1] #list의 초기값을 0,1로 .. 더보기
[Python] 파이썬 예제. 딕셔너리 정렬 본 게시글은 http://tryhelloworld.co.kr/ 에서 문제를 참고하여 풀이한 게시글입니다. level 1 의 난이도 쉬움 문제입니다 문제딕셔너리는 들어있는 값에 순서가 없지만, 키를 기준으로 정렬하고 싶습니다. 그래서 키와 값을 튜플로 구성하고, 이를 순서대로 리스트에 넣으려고 합니다. 예를들어 {"김철수":78, "이하나":97, "정진원":88}이 있다면 각각의 키와 값을("김철수", 78)("이하나", 97)("정진원", 88)과 같이 튜플로 분리하고 키를 기준으로 정렬해서 다음과 같은 리스트를 만들면 됩니다. [ ("김철수", 78), ("이하나", 97), ("정진원", 88) ]다음 sort_dictionary 함수를 완성해 보세요. 12345678def sort_dictiona.. 더보기
[Python] 파이썬 예제. 문자열 내 마음대로 정렬하기 본 게시글은 http://tryhelloworld.co.kr/ 에서 문제를 참고하여 풀이한 게시글입니다. level 1 의 난이도 쉬움 문제입니다 문제strange_sort함수는 strings와 n이라는 매개변수를 받아들입니다. strings는 문자열로 구성된 리스트인데, 각 문자열을 인덱스 n인 글자를 기준으로 정렬하면 됩니다.예를들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1인 문자 u, e ,a를 기준으로 정렬해야 하므로 결과는 ["car", "bed", "sun"]이 됩니다. strange_sort함수를 완성해 보세요.123456789def strange_sort(strings, n): '''strings의 문자열들을 n번째 글자를 기준으로 정렬해.. 더보기
[Python] 파이썬 예제. 문자열 내 p와 y의 개수 구하기 본 게시글은 http://tryhelloworld.co.kr/ 에서 문제를 참고하여 풀이한 게시글입니다. level 1 의 난이도 쉬움 문제입니다 문제numPY함수는 대문자와 소문자가 섞여있는 문자열 s를 매개변수로 입력받습니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 리턴하도록 함수를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 예를들어 s가 "pPoooyY"면 True를 리턴하고 "Pyy"라면 False를 리턴합니다. 12345678910def numPY(s): # 함수를 완성하세요 return True # 아래는 테스트로 출력해 보기 위한 코드입니다.print( numPY("pPoooyY") )print( numPY(".. 더보기