Skip to content

2025‐08‐15 회의록

김누리 edited this page Aug 22, 2025 · 1 revision

2025-08-15 스터디 회고

** 참여자 : ** 강성욱, 김나은, 김누리 ** 불참 : 이상억


<백준>

  • 회의실 배정
  • 마라톤 1 <프로그래머스>
  • 2개 이하로 다른 비트
  • 파일명 정렬
  • N진수 게임
  • 방금 그곡
  • 의상
  • 캐시

나은님 > 김누리 > 강성욱님

이상억 님

<백준>

  1. 회의실 배정 : 끝나는 시간을 오름차순해서 문제해결
  2. 마라톤 1 : 총 거리의 합을 구한 후 하나의 포인트씩 빼는 형식으로 문제 풀이 진행

<프로그래머스>

  1. 2개 이하로 다른 비트 : 처음에 완전 탐색 형식으로 1,2 개인거를 찾았는데 테스트 케이스 10,11 에서 시간 초과가 발생해 비트 연산의 규칙을 이용해서 풀이 진행
  2. n 진수 게임 : hash로 a,b,c,d,e,f 를 매핑해서 switch를 사용하는 형식으로 문제를 푸려고 했으나 풀이가 길어질 거 같아 Integer.toString 사용 -> 이거 없었음 못풀거나 힘들게 풀었음
  3. 의상 : 고등학교 확률과 통계 문제 같아서 이해가 쉬웠고 해시맵 사용해서 해결
  4. 캐시 : deque 를 사용해서 풀었고 LRU 알고리즘을 알고 있어 보다 쉽게 문제를 이해해 간단하게 풀었음
  5. 파일명 정렬 : 파일명을 나누는 함수를 따로 작성해 Arrays.sort 이용해 문제 풀이 진행
  6. 방금 그곡 : 이거는 문제가 잘 이해가 안감.. gpt 한테 물어도 보고 풀이도 봤는데 이해가 잘 가지 않음 추후 다시 봐야 할 것 같다.

※ 총평 : 이번주는 저번 주 보다는 쉬웠던 것 같다. 그리고 백준 문제를 간만에 푸니까 재밌다.


강성욱 님

<백준>

  1. 회의실 배정 : 전형적인 정렬 문제. 끝시간 기준으로 오름차순 해서 시나리오 대로 풀이 진행
  2. 마라톤 1 : 전부다 합산 후 대상 스킵 포인트의 거리만 제하는 방식으로 풀이 진행

<프로그래머스>

  1. 2개 이하로 다른 비트 : 이진수화 해서 0인걸 1로 하면 될듯? >> NG >> 짝수이면 1을 더하고, 전부 1인 경우 맨 뒤에 10을 붙이는 형식으로... 문제를 잘못 읽어 꽤 오래걸림
  2. 파일명 정렬 : 문제 읽고 시나리오 구현. 문제가 좀 어려웠지만 ㅎㅎ.... 테일은 없을수도 있고, 정렬 후 Header, Number, Tail 순으로 정렬
  3. N진수 게임 : sb 사용해서 사이즈 만큼 돌리며 넣어주고, append 하며 진행.
  4. 방금 그곡 : 사이즈 만큼 배열 설정 후 해야 하나 싶었지만, # 처리에서 고민함. 아이디어 제공 받았을 때 C# =>c 로 변환하는 방식으로 해서 풀이 해야 했음. 그래서 1시간 날림
  5. 의상 : 처음에 Map<String,list>로 했지만, 갯수만 구하면 되니 Map<String,Integer>로 해서 풀이. 계산 할 때는 answer *= cnt +1; 공식도 외워두면 좋음
  6. 캐시 : LRU 구하면 되는 문제. 우선순위큐를 이용하면 될 것 같지만 자료구조 중 LinkedHashMap을 이용해서 진행. LRU는 LinkedHashMap으로 구현되어 있기 때문에

※ 총평 : 이전주 보다 문제가 좀 쉬웠다.

※ 질문 : LinkedHashMap, HashMap은 k-v 구조의 자료구조, 노드간 연결이 되는 해쉬 맵이다.


김나은 님

<프로그래머스>

  1. 의상 : 처음에는 Set으로 했지만, 인공지능에게 물어보고 Map으로 전환
  2. 캐시 : LRU, 캐시, 자료구조, 큐 등 처음 보다 보니 GPT의 도움을 받음. Queue를 이용하는 것에 대해 조금 더 익숙해질 필요는 있음.

※ 총평 : 생각보다는 풀만 했지만, 정답률 60% 이하의 문제는 아직 접근하기 어려움

※ 질문 : 해쉬(Map이나 Set)은 익숙해 졌는지? >> set은 혼자 쓸 수 있을거 같은데 map은 아직 어려움


김누리 님

  1. 3진법 뒤집기 : 의외로 쉬웠음. 중학생 때 2진수 만들 때 처럼 나머지 공식 쓰듯 n%3으로 해서 나온나머지를 잘 이어붙이면됨
  2. 이진 변환 반복하기 : 이진수로 바꾸면서 없어지는 0의 갯수, 변환을진행한 횟수를 잘 카운팅 해 나가면됨.
  3. 보석 쇼핑 : 문제 파악이 좀 애먹음. 슬라이드 윈도우 ? 이중 for문? 생각해보다가 시작점과 끝점을 지정해서 거리를 좁혀나가는 투포인터 방식이였음. 좀만 더 고민을 해볼걸 아쉬움.
  4. 시소 짝꿍 : 오름 차순 정렬 후 맵에 각 체중들을 위치별로 체크한 결과값을 비겨하며 진행 하면 되는 문제.
  5. 괄호 변환 : 단순히 dfs를 채용하면 될 줄 알았음. 그러나, 실상 dfs를 쓰게 되면 너무 많은 재귀를 하게 되기 때문에 시나리오를 잘 구성해서 함수들을 만들어 나가면 됨.
  6. n^2 배열 자르기 : 2차원 배열 만들고 진행 하면 되나? 고민 했지만, 결국 각 행과 열을 /랑 % 를 이용하여 포지셔닝을 잘 잡아야 했음.
  7. 쿼드압축 후 개수 세기 : dfs 문제. 각 섹션별로 돌면서 0갯수, 1의 갯수를 카운팅 하면되는 문제
  8. 연속된 부분 수열의 합 : 이것도 투포인터 문제로 해서 k 만큼 더해지는 거리를 구한 후 줄여나갈 수 있는지 확인 하는 시나리오를 가지고 문제 풀이가 진행해야 함

김누리 : <백준>

  1. 회의실 배정 : 1개의 회의실에 N개의 회의가 겹치지 안도록 끝시간 기준으로 정렬. 이후 이전 회의 시간 보다 새로 시작될 시작 시간이 큰 경우에만 증산 하는 방식으로 풀이
  2. 마라톤 1 : 시나리오별 단순 검색 기능 구현용 문제였던거 같음

<프로그래머스>

  1. 2개 이하로 다른 비트 : 처음에는 그냥 n진수화 한 다음. 반복문을 쓰면서 자릿수 별로 다른 숫자를 측정 하면 될줄 알았지만 타임아웃 터짐. 그래서 검색해 보니 이건 비트 연산 문제였던지라... 조금 어색했음
  2. 파일명 정렬 : 문제를 좀 더 잘 읽었어야 했음. 숫자가 5자리 까지 가능 하다는게 은근히 큰 힌트였고 이후 시나리오 대로 풀이 한듯
  3. N진수 게임 : 이것도 주어진 숫자 N진수화 하고 sb에 변환된 값들을 이어붙인 후 잘 다듬으면 됨
  4. 방금 그곡 : 이거는 한 부분이 계속 NG 터저서 질문내용 보니까 C#, D#, F#, G#, A#까지만 문제에 나와있었지만 실제로 B#도 있었음. 문제에 낚여서 헤맨 문제
  5. 의상 : Map을 통해 각 악세서리 범주별 몇개 있는지, 어떻게 조합되는지 구현 하면 되는 문제.
  6. 캐시 : 처음 풀었을 떄는 Queue를 통해 계속 poll(), offer()를 통해 진행했지만, Deque로도 풀수 있을 것 같아 Deque로도 풀어봄. Deque가 좀 더 간편한듯.

※ 총평 : 그래도 꾸준히 해 온 결과 이제 어떤거 쓰면 되는지 감이 빨리 오게된거 같음. 슬슬 구현을 좀 더 자력으로 많이 해보는게 중요할듯

※ 질문 : 비트 시프트 시, 오른쪽 시프트 하면 어떻게 작동하나? >> 조금 찾아보고 말해드리는 걸로.

라이브 코테 문제 <백준>


QnA :

※ 추가 사항

※ 건의 사항

Clone this wiki locally