코드카타 20

[QA/QC_2기]아침을 깨우는 코드카타(6-14)

화창한 아침이 밝았다. 구름 한점없이 푸르른 하늘과 태양빛이 나를 반긴다온화한 햇살 아래, 오늘도 코드카타를 진행해보자알고리즘 문제(Python)알고리즘 문제: 문자열 다루기 기본문제를 파악하자문자열 s의 길이가 4 혹은 6, 숫자로만 구성되어있는지 확인문자가 들어가면 False를 숫자만 들어가면 True를 출력한다 어디까지 생각해 보았나?길이를 구하는 len()까지만 생각해냈고.. 어렵지는 않다 이거는하지만 출력하려는 쪽이 문제. 숫자형은 int로 바꿔서 어찌해볼수는 있었지만그 후가 문제라서..막혔다(답안 혹은 힌트를 볼 수 밖에 없었음) 어떻게 풀어야할까?길이를 구해야하므로 len()을 쓰고숫자열, 문자열 확인을 위한 isdigit()를 쓴다자, 그럼 isdigit()는 정확히 무엇일까? isdigi..

[QA/QC_2기]아침을 깨우는 코드카타(6-13)

많이 늦은 글이다. 며칠 안쓴게 정말 역체감이 들 정도로 느낌이 이상하다. 프로젝트 관련 작업을 하느라 한동안 소홀히 한 점이 크다.그렇지만, 코드카타는 계속 되어야만 한다. 안한거는 안한거고, 게으른게 문제...게으르지 말자 내 자신....!알고리즘 문제(Python)알고리즘 문제: 부족한 금액 계산하기 문제를 파악하자원래 놀이기구 이용료는 price원인데 놀이기구를 n번 이용할 때마다 n배로 내야한다.놀이기구를 n번 타게 될 때, 금액에서 얼마가 모자른지 출력(안모자르면 0으로 반환) 어떻게 풀어야할까?금액, 돈, 횟수를 적당히 잘 활용해 써야한다for 반복문과 변수지정을 잘 해야... 안꼬인다문제를 풀어보자answer = 0 : 전역변수 지정 for n in range(1, count+1): : r..

[QA/QC_2기]아침을 깨우는 코드카타(6-12)

하늘에 회색 빛깔의 구름이 꼈다. 비가 올 징조중 하나라고 봐야...우중충해서 텐션이 낮아질 수는 있어도 코드카타는 계속된다. 오늘도 뇌를 원할하게 돌아가기 위해서 열심히 노력해보자!알고리즘 문제(Python)알고리즘 문제:약수의 개수와 덧셈 문제의 요지left의 있는 수부터 right에 있는 수까지의 약수를 구하고그 약수가 짝수면 합을, 홀수면 차를 해서 총합을 나오게 하면 된다 어떻게 풀어야할까?for 반복문과 if 조건문을 적절히 잘 활용코드가 길어질 수 있으니 실수하는 일 없이 바짝 풀어보자문제를 풀어보자answer = 0 : 전역변수를 지정 for n in range(left, right+1): : left부터 right까지의 반복하고 그 반복하는 변수n을 지정 리스트 컴프리헨션 확장형 - 반복..

[QA/QC_2기]아침을 깨우는 코드카타(6-11)

하늘에 깔린 다양한 구름은 색다른 풍경을 만들어준다.시선을 머리 위로 돌리면 푸르른 하늘이 보이지만, 사선으로 치켜보면 겹쳐진 구름으로 인해 하늘이 흐리다.구름으로 인한 이중성이 생겼지만, 그러기에 재밌는 풍경이 아닐까 싶다. 오늘도 코드카타는 계속된다. 끊임없이 노력하고 가아가야만 한다알고리즘 문제(Python)알고리즘 문제: 수박수박수박수박수박수?뭔... 이런문제가 다있어문제를 생각해보자!숫자를 넣었을 때, 수박을 순환해서 계속 내야한다. 어떻게 해결할까?우선, 코드를 어떻게 짜야할지 몰라 답을 봤다.(코드 자체는 이해함) 해설을 해보자면('수박' * (n//2)) : '수박'에 n을 2로 나눈 몫을 곱하고 + : 더해요~ ('수' if n % 2 == 1 else '') : n이 2로 나눴을때 나머..

[QA/QC_2기]아침을 깨우는 코드카타(6-10)

오늘도 화창한 아침이다. 구름은 높게 깔려있고 하늘은 푸르다그러기에 문제 풀기 딱 좋은 환경 아니겠는가?뇌를 조금 더 원활하게 하기위해 오늘도 문제를 풀어보자 알고리즘 문제(Python)알고리즘 문제: 가운데 글자 가져오기단어의 중앙에 있는 글자를 반환하는 함수. 짝수면 두 글자를, 홀수면 한 글자만 가져온다어떻게 풀면 될 까?길이와 사칙연산을 이용 스스로 생각했나?아니오.. 생각이 안나서 답안을 봤습니다코드 해설lens = len(s) : s의 길이를 lens라는 변수에 지정if lens % 2 == 0: : lens가 2로 나눴을때 나머지가 0(짝수인 조건) 조건 return s[lens//2 - 1 : lens//2 + 1]s를 슬라이싱 해주는데(인덱스 번호로 호출)좌측은 lens를 2로 나눴을 ..

[QA/QC_2기]아침을 깨우는 코드카타(6-9)

벌써 6월 9번째 코드카타를 진행 중에 있다.나른한 아침을 일깨워 주는 코드카타뇌를 잘 돌아가게하는 예열 장치! 오늘도 코드카타는 계속된다.알고리즘 문제(Python)알고리즘 문제: 제일 작은 수 제거하기arr에서 제일 작은수를 제거하고, 길이가 하나인 arr은 -1로 반환 def solution(arr): answer = [] for a in arr: if a != min(arr): answer.append(a) if a == 10: answer = [-1] return answer1차풀이: 코드실행 자체는 맞았다. 최종제출에서 오답(66.8/100.0)왜 틀렸을까?길이로 따지는 코드가 아니여서 그랬을까? 추론 : a가 1..

[QA/QC_2기]아침을 깨우는 코드카타(6-8)

구름이 다소 많이 끼었어도, 화창한 아침!아침을 볼 수 있음에 감사. 뇌를 말랑하게하는 문제들을 또 풀어보자!알고리즘 문제(Python)알고리즘 문제: 없는 숫자 더하기numbers에 없는 숫자를 더하면 result에 있는 값이 되게 하라어떻게 풀 것 인가?리스트에 없는 값을 따로 추출해서 계속 더한다 어떤 방식을 사용할 것 인가?for반복문과 조건문 그리고 not in을 사용for n in range(10): : 10 전까지(0~9)의 반복문 형성if n not in numbers: : numbers에 n이 없을 때의 조건answer += n : answer에 n을 더한다return = answer : 그리고 answer를 반환SQL 문제SQL 문제: 진료과별 총 예약 횟수 출력하기 조회할 컬럼 : m..

[QA/QC_2기]아침을 깨우는 코드카타(6-7)

날씨가 쾌청한 오늘. 나들이 가기에 안성맞춤이런 좋은 주말이여도 코드카타는 계속된다.한 문제 씩 계속 풀어 나가다 보면 실력이 늘지 않을까?알고리즘 문제(Python)알고리즘 문제: 핸드폰 번호 가리기이 문제는 뒤의 4자리만 나오고 앞자리는 *로 수정해주면 된다어떻게 풀 것 인가?슬라이싱을 이용한 뒷자리 4자리 추출, 앞자리 별표처리. 어디까지 생각을 해봤나?그냥 처음부터 막막해서 어떻게 해야할 지 몰랐다.(힌트를 제공받아서 풀 방법을 적을 수 있었음)풀이를 해보자다른 사람들이 풀어본 답안을 토대로 적절히 이용했다. phone_number 타입이 숫자형이 아닌 문자형인 관계로 따로 변환 처리할 필요가 없다 answer = '*' * (len(phone_number) - 4) + phone_number[-..

[QA/QC_2기]아침을 깨우는 코드카타(6-6)

엹은 구름이 다소 많이 껴있는 하늘.그래도 여전히 하늘은 푸르러서 날은 좋다 오늘도 쉬지 않고 코드카타를 이어간다. 계속해서 푸는게 좋은 것.알고리즘 문제(Python)알고리즘 문제: 음양 더하기 absolutes를 sign과 비교했을 때, true이면 그대로 false면 -1을 곱한다.그 후, 전체의 합을 나타내는 구문을 작성하시오 def solution(absolutes, signs): answer = 0 for a in absolutes: for s in signs: if s == 'true': answer += a elif s == 'false': answer -= a return answer1차 문제 풀이반복문을 두 번 이용했다. 하지만 코드..

[QA/QC_2기]아침을 깨우는 코드카타(6-5)

현충일인 오늘. 코드카타는 쉬는 일 없이 계속된다.한 문제씩, 점진적으로 계속 풀어나가다 보면 좋은 일이 있을 것이라고 본다알고리즘 문제(Python)나누어 떨어지는 숫자 배열 문제의 요지arr에 있는 수가 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환나누어 떨어지는 게 없으면 -1로 반환문제 풀이1차, 2차를 거쳐 3차에 '정답입니다!' 출력 def solution(arr, divisor): a = [] for i in arr: if i >= divisor and i % divisor == 0: a.append(i) elif i 1차 - 코드실행 자체로 66.6%만 통과. 아예 오답 리스트를 만들고 반복문, if 조건까지 설..