본문 바로가기

TEAM STUDY

(156)
7회차 - 최대공약수와 최소공배수 최대공약수와 최소공배수 두 자연수의 최대 공약수와 최소 공배수를 계산하는 프로그램을 작성해보자. 최대공약수(GCD)란 두 정수 A와 B에 모두 나누어 떨어지는 가장 큰 공통의 약수를 의미한다. 최소공배수(LCM)란 A의 배수이면서 동시에 B의 배수가 되는 가장 작은 공통의 배수를 나타낸다. 입력 형식 첫 줄에는 테스트케이스의 수 T가 1이상 100이하의 자연수로 주어진다. 이후 총 T줄에 걸쳐서 한 줄에 하나의 테스트케이스에 대한 입력이 주어진다. 각 테스트케이스의 입력은 한 줄에 두 자연수가 공백으로 구분되어 주어진다. 각 자연수는 1이상 10억이하의 자연수이다. 출력 형식 각 테스트케이스마다 두 줄에 걸쳐 결과를 출력한다. 각 테스트케이스의 첫 줄에는 테스트케이스의 번호를 Case #%d: 형식으로 ..
7회차 - Probing Probing 행사 기획자인 수정이는 이 번에 자신이 담당하게 된 행사에서 행운권 추첨을 기획하고 있다. 이번 행사에서는 최대 수천명 정도의 사람이 방문할 수 있기 때문에 어떻게 하면 공평하고 불규칙적으로 행운권 번호를 배정할 수 있을지가 큰 관건이었다. 하지만 똑똑한 수정이는 아래와 같은 아이디어를 냈다. 모든 행운권 번호는 0~(N-1)의 정수로 총 N개이다. 모든 고객은 회원번호를 가지고 있으며 회원 번호는 자연수이다. 입장한 고객은 자신의 회원 번호를 N으로 나눈 나머지를 계산해 그 번호와 같은 행운권을 지급받는다. 고객들은 순서대로 한 명씩 입장하며 한번 지급된 행운권 번호는 교환할 수 없다. 수정이는 행사 중간에도 바쁠 예정이기에 당신에게 이를 자동화할 수 있는 프로그램을 작성해달라고 요청했다..
7회차 - 스도쿠 보드 문제4A-스도쿠 보드 스도쿠란 아래의 그림 처럼 9행 9열의 보드에 1~9사이의 숫자들을 규칙에 맞게 채워넣는 게임을 말한다. 9행 9열의 보드에는 총 81개의 칸이 있는데 지수는 보통 각 칸을 1~81로 번호를 붙여서 구별한다. 가장 왼쪽 위의 (1행 1열의)칸이 1번 칸이 되고 그 이후 오른쪽으로 가면서 번호를 하나 증가시킨다. 그리고 해당 행이 다 차면 다음줄로 넘어가 이를 반복한다. 스도쿠는 게임의 특징상 각 행과 각 열 그리고 3x3모양의 9칸으로 구성된 그룹에 1~9의 숫자가 하나씩만 들어가야 한다는 규칙이 있다. 그래서 각 칸에 숫자를 배치할 때 그 칸이 속한 그룹을 파악하고 규칙에 맞는지 확인하는 작업이 필요하다. 하지만 지수와 같이 스도쿠 게임을 하고 있는 예인이는 지수가 말하는 칸의 번..
6회차 - 알고리즘 기록 : 과유불급 (어려웠던거 다시!) - 여러개의 카드중에 L 부터 R 까지의 숫자를 더하고자한다. - L 부터 R 의 합을 한 수가 제일 큰 사람을 구한다. - 같은 숫자일 경우 먼저 구매한 사람을 구한다. 아래와 같은 나열된 카드가 있을 경우에 1번 카드 2번 카드 3번 카드 4번 카드 5번 카드 1 -1 5 2 3 예를들어보면 아래와 같다. 2번부터 4번의 합 6 1번부터 3번의 합 5 이렇게 계산하는 것을 부분합, 구간합이라고 한다. 선형공간에서 주어진 범위의 원소들에 대한 합을 계산하는 문제. 가장 쉬운 방법은 FOR 문을 이용해 L 부터 R 까지 더하는 것이지만 최악의 시간 복잡도를 가지고 있다. 고차원적이고 복잡한 정보는 단순한 여러 정보들의 조합으로 표현될 수 있다. - 고차원 적 정보 : 왼쪽 끝과 오른쪽 끝으로 표현된 범위..
6회차 - 알고리즘 기록 : 네 카드 (어려웠던거 다시!) 중복을 포함해 네 카드의 합으로 만들 수 있는 당첨번호들의 리스트를 반환하는 함수 @param n 카드의 수 @param m 검사하려는 당첨번호의 수 @param cards 각 카드에 적힌 숫자들 @param target 검사하려는 각 당첨번호 리스트 @return 네 카드의 합으로 표현될 수 있는 당첨번호들의 오름차순 리스트 네 카드는 모든 카드의 네 가지 수의 조합이 타겟과 같은가 ? 라는 질문을 하는 알고리즘이다. 네 카드는 즉 ( 하나의 카드 + 하나의 카드 ) + ( 하나의 카드 + 하나의 카드 ) 이다. CardPair 는 모든 두 개의 카드로 생성되는 객체다. 즉 두 개의 카드의 합이다. 모든 cards 의 배열을 순회하면서 모든 두 개의 카드의 조합을 생성한다. ArrayList pairs..
✔ 쿠버네티스 스터디 16 일차 혜 관리 하는 방식 알아서 좋고 이런 게 기동이 잘 되고 있는지 모니터링이 항상 중요하잖아요. 그래서 이런 거 설정 잘해가지고 학교 장애 안 생기게 대응해야겠다. 생각했습니다. 솜 저도 헬스체크라는 용어를 처음 접한 거는 그때 데이터 허브 그거 poc 할 때였거든요. 그래서 근데 거기 자체에는 헬스 체크가 아예 그냥 자기네 자체 명령으로 돼 있는데 이게 쿠버네티스에서 아이디어를 가져온 건가 싶기도 하고 아니면 원래 dev os 있는 용어인가 잘 모르겠고요 근데 뭔가 보면서 이런 되게 세부적으로 헬스 체크를 할 수 있다는 게 참 다행이라는 생각이 들었어요. 뭔가 이 컨테이너를 운영하는 팀마다 뭔가 원하는 게 다를 것 같아서 어떤 팀은 리드니스 방법을 활용할 수도 있고 어떤 팀은 진짜 프로세스가 꺼지면 안 ..
✔ 쿠버네티스 스터디 15 일차 주 리소스 제한 어렵네요. 그냥 cpu하고 메모리하고 제한한다라고 하는 건데 이거를 참 안정성 있게 하려면 진짜 참 어려운 거구나라는 걸 오늘 느꼈습니다. 공부 많이 하겠네요. 저는 막 서비스 같은 거는 설정을 제대로 하면 되는데 리소스 같은 거는 계산을 해서 설정을 예측을 해야 되잖아요. 혜 제가 근데 지난번에도 얘기했는데 제한점이라는 거는 항상 기준을 뭔가 최대치로 잡아야 되는데 서버는 한정적이고 리소스도 한정적인데 이걸 어떻게 실제로 운영할 때 잘할 수 있을지 테스트랑 분명히 또 다른 결과가 나올 것 같아서 벌써부터 두려워요. 이런 걸 할 사람이 내가 아니길 바라면서 .. 솜 근데 뭔가 저는 이제 그런 부하에 대한 경험이 없다보니 이제 선배님들과는 다르게 어떡하지 이거 도대체 어떻게 설정해야 되지 ..
✔ 쿠버네티스 스터디 14 일차 수 저는 오늘 리퀘스트라는 리밋 용어에 대해서 좀 다시 알게 된 계기가 된 것 같아요. 리퀘스트랑 리밋에 대한 사이즈를 정하는 게 참 쉽지만은 않을 것 같아요. 너무 조금 적으면 oom 이 발생하고 너무 많이 잡으면 쓸데없이 메모리 차지만 하고 노드만 많이 할당되고 그러니까 이게 과장님이랑 대리님들이 많이 수고하실 것 같아요. 주 X나 짬 때리고 뭐지 왜 아래 위에서 왜 ㅋㅋㅋㅋ 주 근데 이번에 좀 느낀 게 얘네들이 진짜 독한 놈들이라고 느낀 게 이게 어쨌든 gcp에서 얘네들이 사용하는 거잖아요. 근데 진짜 리소스 제한이 cpu를 코어 단위로가 아니라 밀리 단위로 하는 거 보고 얘네들 진짜 독한 놈들이구나 진짜 돈 아끼려고 정말 우리도 리소스에 대해서 정말 독해져야겠다라는 생각을 했어요. 윤 맞습니다. ..