선택문 5-1 if 문
·
코딩/c언어
프로그램의 작성 순서 1. 데이터 저장 공간 확보(변수, 배열) 2. 데이터를 확보된 공간에 입력 (scanf함수, 대입 연산) 3. 데이터 가공 (연산자) 4. 화면에 출력(printf) 조건에 따라 실행하거나 실행하지 않아야 할 때를 넣어주는 것이 제어문입니다. if 문의 기본 형식 #include int main(void) { int a = 20; int b = 0; if (a > 10) // 조건식 : a가 10보다 크므로 조건식은 참 { b = a; // 실행문 : b = a 대입문 실행 } printf("a : %d, b : %d\n", a, b); //대입이 수행되면 두 값이 같음 return 0; } if 문 내에 있는 조건을 만족하기 때문에 b와 a의 값이 같아진다. 그러므로 조건문 내에..
구명보트
·
코딩/프로그래머스 lv2
문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요..
H-Index
·
코딩/프로그래머스 lv2
문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 입출력 예 입출력 예 설명 이 과학..
문자열을 정수로 바꾸기
·
코딩/프로그래머스 lv1
문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. def solution(s): answer=int(s) return answer 두번째 페이지로 넘어가는 순간 너무 쉬워졌다 레벨 1 빨리 끝내야겠다. 하지만 다르게 푼 사람이 있다. def strToInt(str): result = 0 for ..
수박수박수박수박수박수?
·
코딩/프로그래머스 lv1
문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 def solution(n): su= '수박'*10000 answer = su[:n] return answer def water_melon(n): s = "수박" * n return s[:n] 점점.... 뭔가 간단한걸 찾게 된다... 이게 답인지는 모르겠지만 이렇게함
가운데 글자 가져오기
·
코딩/프로그래머스 lv1
문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 이건 내풀이 어렵지 않았다 슬라이싱을 생각해보았다. def solution(s): answer ="" if len(s) % 2 ==1: answer = s[(len(s)//2)] elif len(s) % 2 ==0: answer = s[(len(s)//2)-1:(len(s)//2)+1] return answer 변수도 없이 한번에 만들 수도 있다..... if 문 없이 만는 방법..... 다양한 생각을 하고 받아들이자 def string_middle(str): # 함수를 완성하세요 return ..
나누어 떨어지는 숫자 배열
·
코딩/프로그래머스 lv1
문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 설명 입출력 예#1 arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서 [5, 10]을 리턴합니다. 입출력 예#2 arr의 모든 원소는 1으로 나누어 떨어집니다. 원소를 오름차순으로 정렬해 [1, 2, 3, 36]을 리턴합니다. 입출력 예..
문자열 다루기 기본
·
코딩/프로그래머스 lv1
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 이렇게 풀면 안됨 82.5점 나옴 이유를 모르겠다...흠 def solution(s): if len(s) ==4 or len(s)==6: for i in s: if 48