본문 바로가기
  • GDSC Ewha Tech Team Blog

3-2기 스터디/알고리즘7

[알고리즘 스터디] 7주차 활동 기록 GDCS 알고리즘 스터디 7주차(5/22) 활동 기록입니다. 7주차에는 아주 간단한 '사분면' 문제에 대한 풀이를 공유하였습니다. 문제 설명 2차원 좌표 상의 여러 점의 좌표 (x,y)가 주어졌을 때, 각 사분면과 축에 점이 몇 개 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 n (1 ≤ n ≤ 1000)이 주어진다. 다음 n개 줄에는 점의 좌표 (xi, yi)가 주어진다. (-106 ≤ xi, yi ≤ 106) 출력 각 사분면과 축에 점이 몇 개 있는지를 예제 출력과 같은 형식으로 출력한다. 예제 입력 5 0 0 0 1 1 1 3 -3 2 2 예제 출력 Q1: 2 Q2: 0 Q3: 0 Q4: 1 AXIS: 2 문제 접근 및 해결 방식 우선 각 사분면에 몇 개의 점이 포함되는지를 기록.. 2022. 6. 1.
[알고리즘 스터디] 6주차 활동 기록 GDCS 알고리즘 스터디 6주차(5/15) 활동 기록입니다. 6주차에는 간단한 '오픈채팅방' 문제에 대한 풀이를 공유하였습니다. 문제 설명 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." 채팅방에서 누군가 나가면 다음 메시지가 출력된다. "[닉네임]님이 나갔습니다." 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. 1. 채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다. .. 2022. 5. 19.
[알고리즘 스터디] 5주차 활동 기록 GDCS 알고리즘 스터디 5주차(05/08) 활동 기록입니다. 5주차에는 맵를 이용한 간단한 문제인 백준 2002번 추월 문제에 대한 풀이를 공유하였습니다. 문제 예제 //예제 입력 ZG431SN ZG5080K ST123D ZG206A ZG206A ZG431SN ZG5080K ST123D //예제 출력 1 문제 정리 터널을 들어갈 때, 나올 때의 차량 목록이 주어질 때, 터널 안에서 반드시 추월했을 것이라고 여겨지는 차량의 수를 구해야 한다. 문제 접근 초기 접근 방법 차량 목록을 단순 비교해서 원래 순서(몇 번째 차량인지)보다 먼저 터널을 빠져나오면 추월한 것으로 체크 틀린 이유 : 원래 차량이 가지고 있던 번호(앞에서 부터 몇 번째 차량인지)와 같거나 더 늦게 터널을 빠져나와도 반드시 추월한 것으로 .. 2022. 5. 16.
[알고리즘 스터디] 4주차 활동 기록 GDCS 알고리즘 스터디 4주차(05/01) 활동 기록입니다. 4주차에는 스택을 이용한 문제인 백준 17298번 오큰수 문제에 대한 풀이를 공유하였습니다. 문제 예제 //예제 입력 4 3 5 2 7 //예제 출력 5 7 7 -1 문제 정리 해당 숫자의 오른쪽에 위치한 수들 중 해당 숫자와 위치가 가까우면서 해당 숫자보다 큰 수 찾아야함. 문제 접근 초기 접근 방법 lower_bound 함수 활용 틀린 이유 : lower_bound 혹은 upper_bound 함수는 이분탐색이기 때문에 정렬을 한 후 사용해야하는데 오큰수는 원래 가지고 있는 수열에서 오른쪽에 위치한 숫자들이 대상이 되므로 (원래의 위치가 중요함) 정렬해서 해결 불가능 순차적으로 단순 탐색 틀린 이유 : 수열 A의 크기 N (1 ≤ N ≤ 1.. 2022. 5. 16.
[알고리즘 스터디] 3주차 활동 기록 GDCS 알고리즘 스터디 3주차(4/10) 활동 기록입니다. 3주차에는 큐를 이용한 간단한 문제인 카드2에 대한 풀이를 공유하였습니다. 문제 소개 문제 접근 카드 뭉치의 앞과 뒤만 접근한다는 점에서 큐를 떠올림 문제 풀이 로직 1번 카드가 맨 앞, N번 카드가 맨 뒤가 되는 큐를 하나 만든다. 최상단 카드는 그냥 pop하고 그 다음 최상단 카드는 pop하고 push한다. 큐의 size가 1이 될 때까지 2를 반복한다. 마지막 큐의 원소를 출력한다. 문제 풀이 #include #include using namespace std; int main() { queue cards; int N; int topCard; cin >> N; for(int i = 1; i 2022. 4. 10.
[알고리즘 스터디] 2주차 활동 기록 GDCS 알고리즘 스터디 2주차(4/3) 활동 기록입니다. 2주차에는 간단한 Reverse Vowels of a String 문제에 대한 풀이를 공유하였습니다. 문제 소개 문제 접근 문제의 'reverse'라는 키워드를 보고 스택의 LIFO 구조를 떠올림 주의할 점 소문자뿐만 아니라 대문자도 생각해야 함 문제 풀이 로직 문자열을 한 문자씩 스캔하며 모음이 나오면 스택에 push한 후 해당 자리를 특정 문자로 표시한다. 다시 스캔하며 표시한 자리(모음 자리)가 나오면 스택 최상위 요소를 pop한다. ex) hello → h$ll$ → holle 문제 풀이 #include #include #include using namespace std; class Solution { public: string rever.. 2022. 4. 5.