Programming (47) 썸네일형 리스트형 [programmers] 5월 식품들의 총매출 조회하기 문제 FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요. 풀이 - 두 개의 테이블에서 원하는 필드를 가져오기 위해 JOIN 사용 - 총매출은 SUM() 을 사용(수량*가격) - GROUP BY 를 사용해 ID 별 합계를 구함 - 2022-04-04 형태의 데이터에서 연도와 월만 비교하기 위해 YEAR(), MONTH() 사용 - ORDER BY 로 정렬 SELECT A.PRODUCT_ID, B.PRODUCT_NAME, (SUM(A.AMOUNT) * B.PRICE) AS TOTAL_SAL.. [정보처리기사] C언어 문제 풀이(5) 실행 순서 if 문은 조건식이 참일 때 실행. C 언어는 0이면 거짓, 0이 아니면 참 if(-1) 에서 -1 은 참(true)이므로 printf(”A”) 출력; 그 외 조건들(else if, else) 은 해당사항 없으므로 skip printf(”D”) 출력 출력 AD [정보처리기사] C언어 문제 풀이(4) - 재귀함수 실행 순서 main 함수부터 실행 fn(3) 이므로 int n = 3 printf 에 의해 3 출력 if 문 실행, 조건이 참(3>1) 이므로, fn(2) 호출 fn(2) 이므로 printf 에 의해 2 출력 if 문 실행, 조건이 참(2>1) 이므로, fn(1) 호출 fn(1) 이므로 printf 에 의해 1 출력 if 문 실행, 조건이 거짓(1>1) 이므로 아래 printf에 의해 1 출력 fn(1)을 호출했던 부분으로 돌아가 아래 printf에 의해 2 출력 fn(2)을 호출했던 부분으로 돌아가 아래 printf에 의해 3 출력 fn(3) 으로 돌아가지만, 이후 명령이 없으므로 종료. 출력 321123 [정보처리기사] C언어 문제 풀이(3) 실행 순서 a = 1, i= 초기값, sum = 0으로 초기화 switch 문에서, a++ 일때는 a를 먼저 사용하고 값을 1 증가 시킴 → 1 값을 먼저 사용하고 연산이 끝난 후 1 증가 ++sum, 1 증가를 먼저 시키고 값 사용 → 0 값에 +1 을 한 1이 sum 값이 됨. ⇒ ‘a++’(1) + ‘++sum’(1) = 2 가 됨 현재 a: 2 , sum: 1 case 2: 에 해당하므로 for 문 실행 i=1, for 문의 조건식(i [정보처리기사] C언어 문제 풀이(2) 실행 순서 반복문 sum += *(p+i) 를 실행하기 위해서는 p 값을 알아야함 p = a[0] 이라고 기선언했으므로, sum += *(a[0]+i) 과 같음 → 그렇다면 *(a[0]+i) 는? 배열 + i == &배열[i] a[0] + i == &a[0] *(a[0]+i) 는 *( &a[0]) 라고 할 수 있음 ⇒ 포인터에서 주소값을 나타내는 것과(&) 그 주소값을 가리키는 것(*)은 서로 상쇄되어 없어짐 ⇒ a[0][i] 가 된다. ⇒ a[0][0]은 2이므로 sum 은 2 다시 for 문으로 돌아와서 i = 1, a[0][1]은 3, sum 은 5 다시 for 문으로 돌아와서 i = 2, a[0][2]는 5, sum 은 10 ** a[0][2] 는 a[1][0] 을 의미한다. 다시 for 문으로 .. [정보처리기사] C언어 문제 풀이(1) tip. 변수 변화를 알기 위해 메모리 구조를 그려놓고 시작 실행 순서 i = 0, j=0, k 는 초기화 생략되어 있어 쓰레기 값 i=0 첫 번째, for문 초기식이 생략되어있음 → 다음 조건으로 바로 넘어감 두 번째 for 문 i = 0, j=0 세 번째 for 문 k =’A’ → 작은 따옴표 A 는 문자, 문자는 아스키코드로 매핑해서 숫자처럼 사용 가능 A = 65 조건문이 참이므로, printf 실행 4. printf 문 %c 는 포맷스트링 중 문자를 출력할 때 사용, i + j + k = 0+ 0+ 65 이므로 아스키코드 65 에 해당하는 문자 A 를 출력 5. 세 번째 반복문으로 돌아감 k++ 이므로 k 값은 66 이 되어 조건문 false 가 됨 → false 일 때 로직이 없어 상위 for.. [programmers] 있었는데요 없었습니다 문제 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다. 풀이 - 두 개의 테이블에서 원하는 필드를 가져오기 위해 JOIN(INNER JOIN) 사용 - DATETIME 을 비교(날짜는 연산자로 비교 가능) - 정렬 SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS INNER JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.DATETIME > OUTS.DATETIME ORDER BY INS.DATETIME 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프.. [programmers] 없어진 기록 찾기 문제 천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요. 풀이 - 두 테이블을 비교해 한 쪽에만 있는 데이터를 조회하기 위해 LEFT OUTER JOIN 사용 - IS NULL 을 사용하여 ID 가 없는 값만 조회 - ID 를 기준으로 정렬 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS OUTS LEFT JOIN ANIMAL_INS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID; 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 .. 이전 1 2 3 4 ··· 6 다음 목록 더보기