코딩도장
-
29.4 심사문제 : 사칙 연산 함수 만들기코딩도장 심사문제모음 2020. 11. 2. 22:10
표준 입력으로 숫자 두 개가 입력됩니다. 다음 소스 코드를 완성하여 두 숫자의 덧셈, 뺄셈, 곱셈, 나눗셈의 결과가 출력되게 만드세요. 이때 나눗셈의 결과는 실수라야 합니다. 사용한 코드 1. def 2. return 첫 접근 방법 매개변수는 2개 / 리턴 반환값은 4개를 기억하자 풀이 매개변수 2개로 사칙연산 반환값 4개를 반환하는 함수를 만들어주면 된다. x, y = map(int, input().split()) def aaa (a, b): return (a+b, a-b, a*b, a/b) a, b, c, d = aaa(x, y) print('덧셈 : {}, 뺄셈 : {}, 곱셈 : {}, 나눗셈 : {}'.format(a, b, c, d)) ## TIL. 16 문자열 서식 지정자 및 포매팅 사용하기..
-
28.4 심사문제 : 파일에서 회문인 단어 출력하기코딩도장 심사문제모음 2020. 11. 1. 16:04
단어가 줄 단위로 저장된 words.txt 파일이 주어집니다. words.txt 파일에서 회문인 단어를 각 줄에 출력하는 프로그램을 만드세요. 단어를 출력할 때는 등장한 순서대로 출력해야 합니다. 그리고 파일에서 읽은 단어는 \n이 붙어있으므로 \n을 제외한 뒤 회문인지 판단해야 하며 단어를 출력할 때도 \n이 출력되면 안 됩니다(단어 사이에 줄바꿈이 두 번 일어나면 안 됨). 사용한 코드 1. with as 문 2. for 문 3. if 문 4. list 5. reversed 6. strip 첫 접근 방법 메모장에 포함되어 있는 text 들에 \n을 유의하여 회문 비교시와 출력시 \n을 제외해야하는점만 인지하면 해결 할 수 있다. 회문을 판별하는 어떤 방법을 사용하든 정답으로 인정되며 풀이1 에서는 l..
-
27.6 심사문제: 특정 문자가 들어있는 단어 찾기코딩도장 심사문제모음 2020. 10. 29. 20:04
문자열이 저장된 words.txt 파일이 주어집니다(문자열은 한 줄로 저장되어 있습니다). words.txt 파일에서 문자 c가 포함된 단어를 각 줄에 출력하는 프로그램을 만드세요. 단어를 출력할 때는 등장한 순서대로 출력해야 하며 ,(콤마)와 .(점)은 출력하지 않아야 합니다. 사용한 코드 1. with ~ as 문 2. readline 3. split 4. for 문 5. if 문 6. in 연산자 첫 접근 방법 한줄로 줄바꿈 없이 입력되어 있는 내용을 split을 이용한 공백을 기준으로 리스트를 만들고 반복문으로 해당 요소를 검증하면서 출력하는 방법으로 접근방법은 어렵지 않다. 첫 풀이에서는 IDLE에서 정상 작동하였으나 정답으로 인정해주지 않아 다시 한번 작성하였다. 풀이 1 은 in 연산자를 사..
-
26.9 심사문제 : 공약수 구하기코딩도장 심사문제모음 2020. 10. 28. 18:54
표준 입력으로 양의 정수 두 개가 입력됩니다. 다음 소스 코드를 완성하여 두 숫자의 공약수를 세트 형태로 구하도록 만드세요. 단, 최종 결과는 공약수의 합으로 판단합니다. 사용한 코드 1. map 2. set 3. input 4. split 5. for 문 6. if 문 첫 접근 방법 공약수의 개념을 알고 있다면 for 문 , if 문 사용시 어렵게 않게 어떤 범위까지 반복해야하는지, 검증은 어떤것을 해야하는지 자연스럽게 알게 되는 문제다. 입력 10 20 출력 18로 보았을때 10 의 약수는 1, 2, 5, 10 20의 약수는 1, 2, 4, 5, 10, 20 10과 20의 공약수의 합이 18이라는 것을 알 수 있다. 풀이 1. 먼저 입력값을 기준으로 해당 입력값의 공배수를 알아야하기에 a, b = ..
-
25.8 심사문제 : 딕셔너리 특정 값 삭제하기코딩도장 심사문제모음 2020. 10. 26. 22:57
표준 입력으로 문자열 여러 개와 숫자 여러 개가 두 줄로 입력되고, 첫 번째 줄은 키, 두 번째 줄은 값으로 하여 딕셔너리를 생성합니다. 다음 코드를 완성하여 딕셔너리에서 키가 'delta'인 키-값 쌍과 값이 30인 키-값 쌍을 삭제하도록 만드세요. 사용한 코드 1. sum 2. len 3. pop 첫 접근 방법 pop 메서드로는 키 ('delta') 값을 삭제하여 delta키 , 값 쌍을 삭제하고 딕셔너리 표현식에 if 문을 사용해 30이 아닐때에만 반복으로 값을 넘겨주도록 설정하면된다. 처음에는 x 변수 말고 y라는 변수를 이용해 y = { key : value for key, value in x.items() if value != 30} y.pop('delta') 처럼 접근하였다 x.items()..
-
24.5 심사문제 : 특정 단어 개수 세기코딩도장 심사문제모음 2020. 10. 24. 00:16
표준 입력으로 문자열이 입력됩니다. 입력된 문자열에서 'the'의 개수를 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 단, 모든 문자가 소문자인 'the'만 찾으면 되며 'them', 'there', 'their' 등은 포함하지 않아야 합니다. 사용한 코드 1. input 2. split 3. for 반복문 4. if 조건문 첫 접근 방법 처음엔 a 라는 변수에 입력값을 할당하고 a.count('the') 로 2줄이면 해결할 수 있을것 같았다. 하지만, count메서드로 갯수를 구하는 순간 위 출력값이 8이 나오는데, 여기에 'whether' , 'themselves' 값이 포함되어 원하고자 하는 'the' 만을 출력할 수 없다. 또한, 입력값을 받기 위한 코드로 ..
-
23.7 지뢰찾기(어려움..)코딩도장 심사문제모음 2020. 10. 18. 17:51
표준 입력으로 2차원 리스트의 가로(col)와 세로(row)가 입력되고 그 다음 줄부터 리스트의 요소로 들어갈 문자가 입력됩니다. 이때 2차원 리스트 안에서 *는 지뢰이고 .은 지뢰가 아닙니다. 지뢰가 아닌 요소에는 인접한 지뢰의 개수를 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 여러 줄을 입력 받으려면 다음과 같이 for 반복문에서 input을 호출한 뒤 append로 각 줄을 추가하면 됩니다(list 안에 문자열을 넣으면 문자열이 문자 리스트로 변환됩니다). matrix = [] for i in range(row): matrix.append(list(input())) 이 문제는 지금까지 심사문제 중에서 가장 어렵습니다. 처음 풀어보는 경우 대략 두 시간은 걸립..