안녕하세요. 지난 포스팅의 BOJ 2742번 : 기찍 N에서는 range 함수를 내림차순으로 생성하는 방법에 대해서 알아보았습니다. 오늘은 반복문, 문자열 포맷팅을 함께 사용하여 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : for문 문자열 포맷팅 : format 함수 BOJ 2739번 : 구구단에서 사용했던 format 함수를 그대로 사용하겠습니다. 기본적으로 출력은 "Case #{}: {}"이기 때문에 {}에 각각 어떤 값을 넣을 지만 결정해주면 됩니다. 패턴을 보시면 첫번째 {}에는 몇 번째 A + B를 계산하고 있는지, 두번째 {2}에서는 A + B를 출력하고 있습니다. 따라서, 아래와 같이 문제를 풀 수 있겠네요. N = int(input()) for i in range(1, N + 1)..
안녕하세요. 지난 포스팅의 BOJ 2741번 : N 찍기에서는 입력받은 N을 기준으로 1부터 N까지 차례대로 출력하는 문제를 풀어보았습니다. 오늘은 그 역순으로 출력하는 방법에 대해서 알아보도록 하죠. 핵심 포인트 반복문 : for문 범위 생성 함수 : range 함수 BOJ 8393번 : 합에서 보았던 문제를 기억하시나요? 해당 문제에서 저희는 범위 생성 함수인 range 함수를 이용해서 1부터 N까지의 리스트를 만들어서 순서대로 iterable 객체에서 꺼내 합을 구하였습니다. 이때, 1부터 N까지의 리스트를 만들기 위해 range(start = 1, end = N + 1, step = 1)로 주었죠. 그런데, 이번에는 반대로 N부터 시작해서 1까지 구성된 값이 1씩 감소하는 리스트를 만들어야합니다...
안녕하세요. 지난 포스팅의 BOJ 8393번 : 합에서는 반복문을 이용해서 1부터 N까지의 합을 구하는 문제를 풀어보았습니다. 오늘 볼 문제는 지난 포스팅과 거의 유사하기 때문에 설명은 생략하도록 하겠습니다. 핵심 포인트 반복문 : for문 N = int(input()) for i in range(1, N + 1) : print(i) 참고자료 및 그림출처 백준 코딩 문제
안녕하세요. 지난 포스팅의 미적분학 - 곡선의 법선벡터와 종법선벡터에서는 곡선을 통해 얻을 수 있는 두 가지 종류의 벡터(법선벡터 / 종법선벡터)의 정의와 단위 기울기 벡터, 법선벡터, 종법선벡터를 얻을 수 있는 두 가지 종류의 평면(법평면 / 접촉평면)에 대해서 알아보았습니다. 지금까지 저희는 단변수 함수 $f(x)$의 형태만 보았지만 오늘부터는 여러 개의 변수를 가지는 다변수 함수(multi-variable function)에 대해서 알아보도록 하겠습니다. 정의1. 다변수 함수(multi-variable function) 다변수 함수는 어떤 집합 $D$에 대해서 실수쌍 $(x, y) \in D$을 고유한 규칙으로 값 $f(x, y)$를 배정하는 규칙이다. 이때, 집합 $D$는 함수 $f$의 정의역(d..
안녕하세요. 지난 포스팅의 BOJ 10950번 : A + B - 3에서는 반복문을 이용해서 원하는 횟수만큼 입력받은 정수들의 합을 출력하는 방법에 대해서 알아보았습니다. 오늘도 역시 반복문과 관련된 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : for문 문제를 보시면 입력된 정수 N을 기준으로 1부터 N까지의 합을 출력하면 됩니다. 따라서, 답인 sum 변수를 지정하고 해당 변수에 0을 넣어주는 것으로 시작하겠습니다. 그리고 BOJ 2739번 : 구구단에서 보았던 반복문을 활용해서 1부터 N까지 오름차순으로 더해주도록 하겠습니다. 여기서 중요한 점은 range(start, end, step) 함수같은 경우에 두번째 인자인 end를 기준으로 start부터 end - 1까지 step 만큼 차이나는 i..
안녕하세요. 지난 포스팅의 BOJ 2739번 : 구구단에서는 반복문과 문자열 포맷팅을 이용해서 동일한 형태를 가진 문자열을 반복적으로 출력하는 방법에 대해서 알아보았습니다. 오늘은 지난 문제와 동일하게 반복문을 활용해서 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : for문 문제를 보시면 일단 몇 번 덧셈을 계산할 것 인지와 두 개의 숫자를 받아 덧셈을 한 결과를 한 줄씩 출력해주면 됩니다. 따라서, 반복문과 map(int, input().split())을 함께 적용해주면 되겠네요. N = int(input()) for _ in range(N) : A, B = map(int, input().split()) print(A + B) 이때, _ 이라는 것은 굳이 iterable 자료형에서 무엇인가 가져..
안녕하세요. 지난 포스팅의 BOJ 2480번 : 주사위 세개에서는 3개의 주사위 눈을 비교하여 각 경우별로 다른 상금을 출력하는 문제를 풀어보았습니다. 오늘은 새로운 주제로 반복문(for문, while문)과 관련된 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 : for문 문자열 포맷팅 : format for variable in iterable : do statement 반복문 중 for문의 기본적인 형태는 위와 같습니다. 보시면 iterable 자료형에서 variable을 한 개씩 꺼내오고 명령어를 실행합니다. 그리고 다음 variable을 꺼내오고 명령어를 다시 실행하죠. 이러한 과정을 iterable 자료형의 원소의 개수만큼 실행하게 됩니다. 여기서 iterable 자료형에 대한 자세한 설명은..
안녕하세요. 지난 포스팅의 미적분학 - 곡선의 곡률에서는 곡률을 구하는 방법과 이와 관련된 몇 가지 정리에 대해서 알아보았습니다. 오늘은 이어서 곡선의 법선벡터(normal vector)와 종법선벡터(binormal vector)에 대해서 알아보도록 하겠습니다. 일단, 미적분학 - 벡터의 미분과 적분에서 보았던 단위 기울기 벡터(unit tangent vector)와 함께 보도록 하겠습니다. 기본적으로 법선벡터는 단위 기울기 벡터와 수직을 이루는 벡터를 의미합니다. 그리고 저희는 단위 기울기 벡터 $\mathbf{T}$와 단위 기울의 벡터의 미분인 $\mathbf{T}^{'}$가 서로 직교(orthogonal)한다는 사실을 알고 있기 때문에 법선벡터 $\mathbf{N}(t) = \frac{\mathbf..