728x90

(1) 문제

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.


(2) 제한사항

  • 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
  • completion의 길이는 participant의 길이보다 1 작습니다.
  • 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
  • 참가자 중에는 동명이인이 있을 수 있습니다.

(3) 코드

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

bool comp(const string& s1, const string& s2) {
	return s1 > s2;
}

string solution(vector<string> participant, vector<string> completion) {
	string answer = "";

	sort(participant.begin(), participant.end(), comp);
	sort(completion.begin(), completion.end(), comp);

	for (int i = 0; i < completion.size(); i++)
	{
		if (participant.at(i).compare(completion.at(i)) != 0)
		{
			answer = participant.at(i);
			return answer;
		}
	}
	
	answer = participant.at(participant.size() - 1);

	return answer;
}

(4) 실행결과


반응형
728x90

(1) 문제

입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 No name으로 표시해 주세요.


(2) 코드

-- 코드를 입력하세요
SELECT ANIMAL_TYPE, IFNULL(NAME,'No name') AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS

 

반응형
728x90

(1) 문제

동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.


(2) 코드

-- 코드를 입력하세요
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID

 

반응형
728x90

(1) 문제

동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요.

단, ID는 오름차순 정렬되어야 합니다.


(2) 코드

-- 코드를 입력하세요
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL

 

반응형
728x90

(1) 문제

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.


(2) 코드

-- 코드를 입력하세요
SELECT HOUR(DATETIME) AS HOUR, COUNT(HOUR(DATETIME)) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
HAVING HOUR >= 09 AND HOUR <= 19
ORDER BY HOUR

 

반응형
728x90

(1) 문제

동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.


(2) 코드

-- 코드를 입력하세요
SELECT NAME, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME)>1
ORDER BY NAME

 

반응형
728x90

(1) 문제

동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요.

이때 고양이를 개보다 먼저 조회해주세요.


(2) 코드

-- 코드를 입력하세요
SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
HAVING ANIMAL_TYPE = 'Cat' || ANIMAL_TYPE = 'Dog'
ORDER BY ANIMAL_TYPE

 

반응형
728x90

(1) 문제

동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요.

이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.


(2) 코드

-- 코드를 입력하세요
SELECT COUNT(NAME)
FROM (
SELECT DISTINCT NAME 
FROM ANIMAL_INS
WHERE NAME IS NOT NULL) AS tb

 

반응형
728x90

(1) 문제

동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요.


(2) 코드

-- 코드를 입력하세요
SELECT COUNT(ANIMAL_ID)
FROM ANIMAL_INS

 

반응형
728x90

(1) 문제

동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.


(2) 코드

-- 코드를 입력하세요
SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

 

반응형

+ Recent posts