CODING TEST/Code Tree

CODING TEST/Code Tree

[코드트리] L, R 그리고 B 문제 코드 풀이

문제   [코드트리] L, R 그리고 B   풀이문제 접근10 * 10의 격자에서L에서 시작해 B 에 도착하는최단 거리를 구한다.이때, R을 거치지 않아야한다. 최단 경로에서R을 마주치게 되는 경우는L, R, B가 가로 또는 세로에일직선상으로 위치하는 경우다. 따라서 총 3가지 케이스인가로 겹침, 세로 겹침, 안 겹침을생각해볼 수 있다.    알고리즘편의상 설명에서는 격자 사이즈를 5*5로 했다. case1L, R, B가 일직선으로 있지 않은 경우(각자 다른 줄에 위치하는 경우)최단 거리를 구하면어느 경로에서든 4가된다.    case2같은 세로줄에 위치하는 경우최단 거리를 구하면R이 없을 경우 2다. 하지만 R이 길을 막고 있어돌아 가야함으로+2가 되어 4가된다.     case3같은 가로줄에 위치하는..

CODING TEST/Code Tree

[코드트리 조별과제] 6주차 정리 (악수와 전염병의 상관관계 2 / 작은 구슬의 이동)

벌써 6주차가 끝나다니아쉽다.이전에 풀었던 유형의 문제를오랜만에 다시 푸니쉽지가 않다.이래서 꾸준히하는 것이중요한 것 같다.앞으로도 화이팅 ~        학습내용악수와 전염병의 상관관계 2 [코드트리] 악수와 전염병의 상관관계 2 문제 정리1. N명의 개발자 존재 2. 처음 전염병에 걸려 있는 개발자의 번호 P3. T번에 걸쳐, t초에 x개발자가 y개발자와 악수3.1) 테스트케이스가 시간순으로 입력되는 것이 아닌랜덤된 시간순으로 입력된다는 것을 유의4. K번의 악수 동안만 전염4.1)K번 이후에는 악수해도 전염되지 않음 4.2) 점연된 사람끼리 악수해도 점연된 걸로 간주▷ (전염 + 전염 = 전염)5. 출력내용- 최종적으로 누가 전염병에 걸리게 되었는지 출력👉 출력방식:  0(전염x) or 1(전염o..

CODING TEST/Code Tree

[코드트리 조별과제] 5주차 정리(흰검 칠하기 / 신기한 타일 뒤집기)

생각보다 시간이 소요되었던문제였다.명령어 하나 실수로완전 다른 기능인코드가 될 수 있다.실수하지 말고 꼼꼼하게 살피자   학습내용흰검 칠하기 [코드트리] 흰검 칠하기 문제가 길어서 형광펜으로 칠해봤다.(더 복잡해진 것 같기도..😅) 문제 정리1. 무한이 나열된 타일1) 문제의 입력 최대 범위을 확인한다.1 ≤ n ≤ 1,0001 ≤ x ≤ 1001.1) 최대 1,000번 x값으로100을 받는 경우가 있다.→ 1,000 x 100 = 100,0001.2) 방향은 L인 -(마이너스), R인 +(플러스)가 있다.배열은 마이너스가 존재하지 않기 때문에,100,000을 더하여 마이너스를 없애 보정한다.👉 최종 타일의 범위 0 ~ 200,000 2. 아무 타일에서 시작L 방향으로 최대 -100,000R방향으..

CODING TEST/Code Tree

[코드트리 조별과제] 4주차 (정렬된 숫자 위치 알아내기 / DateTime to DateTime)

정렬에서 lambda를 사용하는방법에 연습과날짜와 시간계산을시뮬레이션 하지 않고계산식으로 구하는 연습을할 수 있던 한 주였다.       학습 내용정렬된 숫자 위치 알아내기 [코드트리] 정렬된 숫자 위치 알아내기 class Number: def __init__(self, num, idx = -1): self.num = num self.idx = idxn = int(input())arr = list(map(int, input().split()))sequence = [Number(num) for num in arr]sorted_sequence = sorted(sequence, key = lambda x:x.num)for i, number in enumerate(sorted_se..

CODING TEST/Code Tree

[코드트리 조별과제] 3주차 정리(출력결과 18 / 출력결과 29 / 재귀함수를 이용한 최소공배수)

재귀함수는한 번 꼬이게 되면헷갈리기 때문에확실한 이해, 설계가 중요한 것 같다. 자주 접해도 헷갈리는 재귀함수다......🤣   학습내용출력결과 18 [코드트리] 출력결과 18  각 함수의 기능은 다음과 같다.g(): _list의 a~b범위 중 x이하의 숫자 개수 카운트f(): _list의 a~b범위 중 x이하의 숫자 중 인덱스가 k번째인 숫자 이분 탐색 f(0, 9, 5, 6)일때를 표로 진행상황을 아래의 표처럼 나타낼 수 있다.  return f(a, mid, x, k) if cnt >= k else f(mid + 1, b, x, k - cnt)if의 True, False따라 인자가 달라지는 점을 유의해야한다. 각 값에 대한 g()의 범위는 다음과 같다.f(7, 7, 5, 1)때_list[7]인 2..

CODING TEST/Code Tree

[코드트리 조별과제] 2주차 정리 (그 계절, 그 날 / 함수를 이용한 369 게임)

함수를 기능별로 나누어작성하는게 중요하다고 느껴지는 주였다.잘 관리할 수록가독성, 코드 작성 등 장점이 많았다. 비교적 간단한 문제들 부터꾸준히 연습해야복잡한 문제들에도함수를 잘 관리할 수 있을 것 같다.  학습내용그 계절, 그 날[코드트리]그 계절, 그 날  y, m , d = map(int, input().split())#윤년 확인def check_leap_year(y): if y % 4 == 0 and y % 100 != 0: return True elif y % 4 == 0 and y % 100 == 0 and y % 400 == 0: return True return False# 존재하는지 확인def check_day(y, m, d): end31 =..

CODING TEST/Code Tree

[코드트리 조별과제] 1주차 정리 (최대공약수 구하기/ 최소공배수 구하기/ 출력결과20)

1주차는 시험이 있기도 하고,오랜만에 코테를 공부하기 때문에쉬엄쉬엄 가기고 했다. 감을 익히고자 기본기인코드트리의[프로그래밍 연습] - [함수] - [값을 반환하지 않는 함수]를 풀었다.    학습내용최대공약수 구하기[코드트리] 최대공약수 구하기  최대공약수는 공약수와 지수로 구하는 방법이 있다. 지수로 구하는 방법은 지수가 있는 형태로 바꾼 뒤 공통된 수 중지수가 작은 것을 선택해서 곱하는 방법이다. 공약수로 구하는 방법은 소인수 분해를 이용한다.소인수 분해시 큰 수를 사용하면 계산 횟수가 줄어든다.큰 수를 사용한다는 점을 이용해서코드를 작성할 수 있다.  def cal_gcd(n, m): for i in range(min(n,m),0,-1): if n % i == 0 and m %..

CODING TEST/Code Tree

[코드트리 챌린지] 8주차 - 마무리와 시작(코드네임, 사는 지역, 비오는 날)

실력진단 8주차: 654 → 504 7주차에 비해 1문제를 못 풀었다. 그만큼 순간 점수가 높아졌다고 완전히 그 파트에 대해 완벽해졌다고 볼 수 없다.😂 대신 지난번에 높아졌던 점수를 보면서 다시 그 점수에 도달하고 싶은 욕심에 더 열심히 공부할 수 있을 것 같다. 길면 길고, 짧으면 짧던 8주차의 마무리에 들어서고 있다. 이번주는 dfs에 공부할 계획이었지만 실행하지 못 했다.😥 그래도 객체 파트를 마무리 했고, 다른 문제들을 조금 풀었다. 코드트리 챌린지는 이번 8주차로 마무리된다. 하지만 앞으로도 이어서 할 공부에서는 dfs공부를 마무리할 계획이다. 코드트리 챌린지를 하면서 2차원 배열에 대해 이해하고, 시뮬레이션에 대해 공부를 했다. 목표치에 비해 완수하지 못 해서 아쉽다. 하지만 계속해서 공부할..

CODING TEST/Code Tree

[코드트리 챌린지] 7주자 - 계속해서 나아가(용량이 다른 3개의 물통, 십진수와 이진수)

실력진단 7주차: 498 → 654 이번주는 지난 6주차에 챌린지 시간 숙지 미숙으로 인해 인증받기를 하기 못 했다. 한 문제 더 풀자라며 몇시간을 미루게 된 결과다. 그래서 스스로에게 실망했지만 이를 회피하고자 챌린지 글을 그만 작성할까라는 생각도 했다. 하지만 결론적으로 이건 나를 위한 해결책이 아니란 생각이 들었다. 다음부터는 좀 더 잘 확인하면 되는거니까. 스스로를 위한 해결책은 멈추지 않고, 계속해 나아가는 것이다. 실력진단 점수가 이번주에 눈에 띄게 상승했다. 자주 마주쳤지만 실패했던 4번째 문제를 풀었다. tmi 이긴 하지만 4번째 문제를 풀고서 기본기가 있다는 말을 시험에서 들으니 기분이 좋았다. 😊 이 맛에 공부를 계속하나보다. 이후 문제들은 해내지 못했지만, 이번주에 못 풀던 문제를 해..

728x90
더라
'CODING TEST/Code Tree' 카테고리의 글 목록