본문 바로가기

전체 글165

[백준/Python] 15552번 빠른 A+B 문제 ■ 15552번 빠른 A+B 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 파이썬에서 데이터 입력은 대부분 input()으로 알고 있지만, sys.stdin도 input()과 동일한 기능을 합니다. stdin은 standard input의 약자로, input() 대비 빠르고 메모리 효율적입니다. 따라서, 코딩 테스트에서는 input() 대신 stdin을 활용하여 소요되는 시간과 메모리를 절약할 수 있습니다. (실제로 대다수의 문제에서 input()을 사용하면 오답이지만, stdin()을 사용하면 정답인 경우가 많습니다.) 2) stdin을 활용하기 위해 sys 모듈을 import 해줍니다. 이후, input과 동일하게 T에 반복 횟수를 입력 받습니다. 3) 반복 횟수 T 동안 A,B에 두 정수를 .. 2023. 3. 15.
[백준/Python] 2480번 주사위 세개 문제 코드 아이디어는 다음과 같습니다. 1) 가장 쉬운 경우의 수인 주사위 눈이 셋 다 같은 경우를 입력합니다. 2) 두 가지 수가 같은 경우의 수를 입력하며, 코드 수를 줄이기 위해 공통 분모 인수로 print 합니다. 3) 마지막 남은 경우의 수를 작성합니다. a,b,c = map(int, input().split()) if a==b and b==c: print(10000+a*1000) elif (a!=b and b==c) or (a==b and b!=c): print(1000+b*100) elif a==c and b!=c: print(1000+a*100) else: print(max(a,b,c)*100) 2023. 3. 14.
[백준/Python] 2525번 오븐 시계 문제 코드 아이디어는 다음과 같습니다. 1) 소요 시간 C를 60으로 나눈 몫과 나머지를 각각 시간(A)와 분(B)에 더해줍니다. 2) B는 최대 118분(59+59)으로, 절대 120분을 넘을 수 없습니다. 따라서 첫 if 문을 B가 60 이상인지, 아닌지로 구분합니다. 3) B가 60분보다 크다면, 다시 시간(A)에 더하기 1을 해줍니다. 그 후 최종 시간으로 A를 24로 나눈 나머지를 출력합니다. 4) B가 60분 미만이라면, 그대로 A를 24로 나눈 나머지와 B를 출력합니다. A, B = map(int, input().split()) C = int(input()) A += C // 60 B += C % 60 if B>=60: A += 1 print(A%24, B-60) else: print(A%24, B) 2023. 3. 14.
비전공자가 코딩 테스트를 준비하는 이유 안녕하세요. 오랜만에 글을 쓰네요. 거의 반년 동안 글을 작성하지 못한 것 같아요. 그 기간 동안 저는 블로그 활동을 멈추고 공부에만 전념했습니다. 스스로 AI에 관하여 잘 안다고 자부했지만, 다른 사람에게 설명하는 것은 또 다른 문제였던 것 같아요. 평소에 제가 알고 있었다고 생각했던 개념들이 사실은 잘 몰랐던, 메타 인지의 부족이라고 할까요. 시간은 한정되어있는데 공부도 하랴, 블로그 글도 쓰랴. 점점 글의 퀄리티가 떨어지는 것이 느껴지기 시작했습니다. 저에게는 공부에 전념할 시간이 필요했던 것 같아요. 그런데 공부를 하면 할수록, 더 넓은 세상이 저를 기다리고 있었습니다. 무슨 뜻이냐면, 공부를 하면 할수록 공부해야 할 것들이 늘어나는 마법이라고나 할까요. 막막했지만 아직 스스로 발전할 수 있는 기.. 2023. 3. 13.
데이터 프레임에 함수 적용: map, apply, applymap 완벽 정리 안녕하세요. 모두의 케빈입니다. 오늘은 map, apply, applymap의 정의와 각각의 차이점을 완벽하게 예제를 활용하여 설명해드리도록 하겠습니다. ■ 메서드 설명 [요약] map, apply 메서드의 차이는 거의 없고, apply를 주로 활용한다. 다만, map이 유용하게 쓰이는 경우가 있다. 먼저 map과 apply 메서드입니다. map은 Series에만 적용 가능하며, apply는 Series 또는 데이터 프레임의 행, 열에 적용 가능합니다. pandas 환경에서 대부분 apply 메서드를 활용하시는 게 편합니다. 단, map 메서드는 key 값으로 Series를 바로 mapping 할 때 굉장히 편하게 사용할 수 있습니다. [요약] apply와 applymap의 차이는 데이터 프레임 개별 값.. 2022. 11. 24.
데이터 프레임의 행렬곱: AI의 기본 안녕하세요. 모두의 케빈입니다. 오늘은 데이터 프레임으로 행렬곱을 실습해보도록 하겠습니다. ■ 벡터의 곱과 행렬의 곱 두 벡터의 내적을 Dot Product이라고 합니다. 2차원 평면벡터에서 두 벡터 a(a1, a2)와 b(b1, b2)의 내적(방향 표시는 타이핑 이슈로 생략)은 각 성분끼리 곱하고 더하여 정의합니다. (a1*b1 + a2*b2) 이와 유사한 연산으로 선형 대수학에서는 행렬의 곱셈이라는 개념이 있습니다. 행렬의 곱셈은 두 행렬의 크기가 맞는 경우에만 가능합니다. 여기서 크기란, 앞 행렬의 수와 뒤 행렬의 열의 수가 일치하는 것을 의미합니다. 상세한 개념 설명은 나무 위키에서 참고해주세요. 신경망 모델에서 행렬은 벡터의 집합으로 모델링 되고 파라미터의 거의 모든 연산은 행렬의 연산으로 귀결.. 2022. 11. 22.