[코드트리 챌린지] 1주차 - 시뮬레이션

dev_Hyun·2023년 9월 6일
0

코드트리 챌린지

목록 보기
1/8

0) 들어가기 앞서

최근에 코드트리에서 1년치 요금제를 구매했고 처음으로 코딩테스트를 준비하기 시작해 NM 단계를 진행중에 있었다. 그러던 중 코드트리 블로그 챌린지가 열린다고 해, 꾸준한 학습 동기부여를 위해 참여하게 되었다.

1) 실력 진단 결과

1주차 실력 진단 결과는 498점 으로 순열과 조합을 이용한 완전탐색 문제는 해결할 수 있으나, dfs, bfs에 대한 학습이 필요하다고 한다.

기존에 1년치 요금제를 소유하고 있었기에 블로그 챌린지에서는 기업별 커리큘럼 을 제공받았다. 커리큘럼에 포함된 기업 중 dfs/bfs 과정이 포함되었으며 이미 진행중이던 NM 단계를 이어서 학습하기 위해 완전탐색/시뮬레이션도 함께 포함된 카카오 커리큘럼으로 결정하였다.

2) 1주차 학습 주요 내용

이번 첫 주차에는 아래와 같이 시뮬레이션 1 유형의 문제들을 학습했다.

1. 2진수

문제

리뷰

  • n진수를 10진수로 변환하는 방법을 새롭게 알게 되었다. 해당 유형을 학습하기 전에는 아래 코드와 같이 반복문을 사용해 진수의 가장 작은 자릿수 부터 접근해 차례로 n진수의 거듭제곱 값을 키워가며 10진수를 도출하는 방법을 떠올렸다.
binary = input()
result = 0

for i, ele in enumerate(binary[::-1]):
	ele = int(ele)
	if ele != 0:
		result += 2 ** i
        
print(result)
  • 코드트리에서 제공한 솔루션은 가중치를 활용해 주어진 n진수의 0번째 인덱스 부터 접근하는 방법이다.
  • 아직 온전히 이해된 방법은 아니라, 기록으로만 남겨두고 다시 살펴보기 위해 북마크에 저장해두었다!
binary = input()

num = 0
for i in range(len(binary)):
    num = num * 2 + int(binary[i])

print(num)

2. 좌표 공간에 영역(구간) 칠하기

문제

리뷰

  • 파이썬은 음수 인덱스를 통해 컬렉션의 뒤에서 부터 접근가능한 편의를 제공한다. 그러나 음수 인덱스로 전부 표현이 가능한 구조라 이해하고 코드를 작성하는 것은 위험하다는 팁을 알게 되었다. 아직까지 음수인덱스를 사용해 문제가 되었던 적은 없어 몸으로 느껴보아야 알 것 같다.
  • 대신 코드트리에서 제공한 접근법은 OFFSET 상수를 선언하여 음수로 제공된 좌표(값)을 양수로 표현하도록 했다.
profile
공룡, 다람쥐 그리고 돌고래!

0개의 댓글