9월의 싸피어라어라..... 벌써 싸피의 9월이 지나가버렸습니다. 2학기때는 공통, 특화, 자율 프로젝트로 이루어져있는데 벌써 특화 프로젝트까지 끝이 나버렸습니다. 1학기때는 엄청 시간이 안간다고 느껴졌는데 2학기는 정말로 순식간에 지나가는 기분입니다.1학기때는 아아아 강의가 너무 길어요.. ㅜㅜ 아아아 알고리즘 너무 어려워요... 하면서 엄청 느리게 흘러갔는데, 2학기는 회의회의 회의회의 회의회의 회의회의 개발 회의회의 회의회의 회의회의 개발개발개발...... 을 하다보니까 상대적으로 시간이 빠르게 흘러가는 것 같습니다. 특화 프로젝트!8월 중반부터 시작했지만 8월의 싸피 글에는 안적었던 거 같아서 간단하게 이야기를 하자면, 이번 특화 프로젝트는 "핀테크" 특화로 진행하고 있습니다. 요새는 바이브코딩..
문제코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다. 예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트- 코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를 동시에 착용할 수는 없습니다. - 착용한 의상의 일부가 겹치더라도, 다른 의상이 겹치지 않거나, 혹은 의상을 추가로 더 착용한 경우에는 서로 다른 방법으로 옷을 착용한 것으로 계산합니다. - 코니는 하루에 최소 한 개의 의상은 입습니다. 코니가 가..
문제문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 2. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 3. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 4. 이전에 등장했던 단어는 사용할 수 없습니다.5. 한 글자인 단어는 인정되지 않습니다.다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. - 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. - 2..
△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다. 이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번째 라운드..
문제두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 - arr은 길이 1이상, 15이하인 배열입니다. - arr의 원소는 100 이하인 자연수입니다. 입출력 예시해결방법최소공배수는 두 수를 곱한 값을 최대공약수로 나누는 방법으로 구할 수 있습니다.최대공약수는 유클리드 호제법으로 구할 수 있습니다.(코드 참조)코드class Solution ..
문제Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 - 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. - 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. - 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다..
서론웹 서비스를 이용하다 보면 하나의 계정으로 여러 서비스에 로그인하는 경우를 볼 수 있습니다. 서비스에서 Google 계정으로 로그인을 하거나, 내부 시스템 여러 개를 하나의 계정으로 이용하는 경우가 있습니다. (숭실대 웹사이트... ㅎㅎ) 이와 같이 인증을 중앙에서 처리할 때 핵심 역할을 하는 시스템이 IdP (Identity Provider) 입니다. IdP 란?IdP (Identity Provider)는 사용자의 신원을 확인하고, 그 인증 결과를 다른 서비스에 제공하는 시스템입니다. 일반적인 웹 서비스는 각 서비스가 직접 사용자 계정과 비밀번호를 관리할 수 있습니다. 사용자 -> 서비스 A 로그인사용자 -> 서비스 B 로그인사용자 -> 서비스 C 로그인 하지만 서비스가 많아질수록 계정 관리와 인..
문제다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. - (), [], {} 는 모두 올바른 괄호 문자열입니다. - 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. - 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개변수로 주어집니다. 이 s를 왼쪽으로 x (0 ≤ x 제한사항 - s의 길이는 1 이상 1,000 이하입니다. 입출력 예시해결 방법문자열의 길이 - 1번..
문제xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. - 먼저 모든 사원이 무작위로 자연수를 하나씩 부여받습니다. - 각 사원은 딱 한 번씩 경기를 합니다. - 각 경기당 A팀에서 한 사원이, B팀에서 한 사원이 나와 서로의 수를 공개합니다. 그때 숫자가 큰 쪽이 승리하게 되고, 승리한 사원이 속한 팀은 승점을 1점 얻게 됩니다. - 만약 숫자가 같다면 누구도 승점을 얻지 않습니다. 전체 사원들은 우선 무작위로 자연수를 하나씩 부여받았습니다. 그다음 A팀은 빠르게 출전순서를 정했고 자신들의 출전 순서를 B팀에게 공개해버렸습니다. B팀은 그것을 보고 자신들의 최종 승점을 가장 높이는 ..
문제효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 제한 사항 - n은 1 이상, 2000 이하인 정수입니다. 입출력 예시해결 방법n번째 칸으로 방법은 두가지가 있습니다. 1. n-1번째 칸에서 한 칸 위로 이동하기2. n..