전체 글 211

[Python][백준] VS코드 환경 파일 실행 및 입력 Tip

🔍알고리즘 VS 코드 환경 세팅맨 처음 알고리즘 문제를 풀 때, VS코드에서 이 버튼을 매번 누르면서 실행을 하고, 입력값을 복붙했다. 뭐 한 두번이면 괜찮은데,코드 테스트 하고, 틀린 것들이 있으면 다시 실행을 위해 여러번 눌러야한다,(이 때 진짜 손목 너무 아픔...) 그래서 Jupyter notebook에서 셀 키면서 CTRL+ Enter 누르면서 했는데, 너무 지저분해서, 다시 VS 코드로 돌아왔다 😂 혹시 나같은 사람을 위해, 조금이나마 도움이 되는 팁을 남겨본다.🌟실행 단축키 설정 VS 실행하면, 좌측 하단에 톱니바퀴 모양의 "관리"가 있는데, 이걸 누르고 "바로 가기 키"를 눌러준다.  그러면 검색창이 뜨는데 "Python 실행" 이라고 치고,"Python:터미널에서 Python 파일 ..

API (Application Programming Interface)는 무엇일까 ?

🔍  API를 알아보기 전에API, REST API 이런 단어를 프로그래밍을 하다보면 꼭 듣게 되는데,어떤건지는 대충 느낌을 알지만, 정확히 뭔지는 잘 설명을 못한다. API에서 I는 Interface로 사전적 의미로는 "두 물체 사이에서 상호 간 대화" 이다.즉, 컴퓨터에서 인터페이스는 read 또는 write의 역할을 해준다.ex) 키보드는 사람과 컴퓨터를 연결해주는 (물리적)인터페이스  그래서 이번 기회에 구체적으로 API에 대해 알아보고 공부 해보고자 한다. 🌟 API  (응용 프로그램 프로그래밍 인터페이스)아래 정의는 똑같은 말인데, 좀 다양한 말들로 설명하면 좀 이해가 쉬워져서 여러개를 가져와봤다. 정의 1.  응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능..

Backend/API 2024.07.02

[Python][백준] 1157. 단어 공부

링크🔗https://www.acmicpc.net/submit/7568🗒️파이썬  풀이N = int(input())lst = []ans = []for _ in range(1,N+1): w,h = map(int,input().split()) lst.append((w,h))for i in range(N) : cnt = 0 for j in range(N) : if lst[i][0]  1. w(몸무게), h(키)를 튜플로 묶어 리스트로 만들어준다. 2. 완전 탐색으로 흔히 말하는 노가다를 해준다.- 00, 01, 02, 03, 04 / 10, 11, 12, 13, 14, 15 / . . .이런식으로 해당 lst[i]의 순위를 완전탐색으로 탐구하면 된다.  3. 완전 탐색 후..

OpenSSL 다운로드 및 자체 서명 HTTPS

🔍 OpenSSL를 설치하여 자체 서명 Flask로 열은 서버에서 JS를 통해 사용자의 카메라에 접근을 시도했는데,물리적 인터페이스에 접근하려면 HTTPS의 서버 URL이 필요했다 . HTTP는 HyperText Transfer Protocol을 의미하는 것으로,  서버와 클라이언트의 통신 프로토콜이다.해당 프로토콜을 통해 데이터를 일반 텍스트로 교환하는 방식인데, 이 과정에 제 3자의 데이터 탈취 및 오남용이 생길 수도 있다.  HTTPS는 HTTP에 Secure을 더한 것으로, CA(독립된 인증 기관)으로 부터 SSL / TLS 인증서를 요구한다.즉, 데이터 교환 전에 브라우저와 인증서를 공유하여 안정성을 확보한다. 하지만 CA로부터 인증서 받기는 쉽지 않는데, 이러한 점을 자체 서명으로 해결 할 ..

Backend/Network 2024.07.01

컴퓨터 듀얼 모니터 갑자기 안 됨 (모니터 같은 화면 나옴)

📌 듀얼 모니터가 갑자기 안되는 문제왠지 모르지만, 가끔 듀얼 모니터가 잘 작동이 안되는 경우가 있다.양쪽 모니터가 같은 화면만 보여주는데,선을 뽑고 다시 꼽던가, 컴터를 껐다 다시 키거면 왠만하면 되는데,가끔 별의 별 짓을 해도 안되는 경우가 있다... 해결 방법을 알면, 다시 쉽게 듀얼  모니터 사용이 가능하다.  ✨ 해결 방법이 방법으로 해결하면, 왠만하면 해결 될 것이다.  dxdiag를 윈도우 검색창에 쳐서 프로그램을 실행 시켜준다.    그러면 보통  "디스플레이" 에서 "참고"에 에러가 뜨는 것을 발견 할 수 있다.    이런 경우 다시 윈도우 검색창에서 장치 관리자를 실행 시켜준다.   "디스플레이 어댑터" 세부 사항에 "Radeon RX 58"을 제거하고, (내 컴퓨터 같은 경우 Rad..

컴퓨터 에러 2024.07.01

[Python][백준] 10431. 줄세우기

링크🔗https://www.acmicpc.net/problem/10431🗒️파이썬  풀이N = int(input())for n in range(1,N+1): lst = list(map(int,input().split(" ")))[1:] sum = 0 for i in range(1,20): for j in range(i): if lst[i]  1. 원하는 값은 "몇 번 물러섰는지에 대한 개수"이기 때문에, 실제 삽입 정렬을 하지 않아도 된다. 2. (0,1) (0,2),(1,2)(0,3),(1,3),(2,3). . . 예를 (0,3),(1,3),(2,3)  부분에서  0,1,2는 이미 정렬이 되었다고 가정을 하고, 0,1,2와 3의 정렬만 신경쓴다. 이런..

[Python][백준] 1157. 단어 공부

링크🔗https://www.acmicpc.net/problem/1157🗒️파이썬  풀이str = input().upper()lst_str = list(set(str))lst = []for word in lst_str: lst.append(str.count(word))if lst.count(max(lst)) > 1 : print("?")else : print(lst_str[lst.index(max(lst))]) 1. 대소문자 구분을 안하고, 대문자로 출력하기 떄문에 upper 함수 사용 2. 각 문자의 개수를 파악하기 위해 집합으로 만든 후 리스트 생성 3. 집합으로 만들어진 리스트의 단어들을 통해 str 단어 개수 파악 후 리스트 append 4. 각 단어의 개수가 들어가있는 ls..

[Python][백준] 2292. 벌집

링크🔗https://www.acmicpc.net/problem/2292🗒️파이썬 내 코드 풀이N = int(input())lst = [1]K = n = 1while True : K = K + (6*n) lst.append(K) n += 1 if K > int(1e10): breakif N != 1 : for i in range(len(lst)-1): if lst[i] 1. 벌집을 하나 하나 보면 규칙성을 찾을 수 있다.첫번째 레이어 : 0~1 두번째 레이어 : 2~7세번째 레이어 : 8~19네번째 레이어 : 20~38. . .  2. 규칙성을 찾아서 식을 작성 해주었고, 각 레이어별 범위를 리스트로 만들어 준다. 3. 범위 리..

[Python][백준] 23971. ZOAC 4

링크🔗https://www.acmicpc.net/problem/23971 🗒️파이썬 코드 풀이H,W,N,M = map(int,input().split())cnt_M = cnt_N = 0n_M = n_N = 1 while True: cnt_M += 1 n_M += (M+1) if W  1.cnt_M, cnt_N 은 배치 가능한 수를 카운트 한 값이다. 2. n_M, n_N은  M과 N 씩 누적해서 띄워진 값이다. 3. while문에서 if문의 조건이 만족 할 때 까지 돌린 후 cnt_N,과 cnt_M을 추출해서 곱한다.  📌  문제 코멘트처음에 이 문제를 보고 ni,nj 방식을 쓸까도 고민을 했지만, 그다지 어려운 문제는 아니였다.(사실 변수에 대해 크게 고민하지는 않았다...) 참..

[Python][백준] 1002. 터렛

링크🔗https://www.acmicpc.net/problem/1002 🗒️파이썬 코드 풀이import mathN = int(input())for _ in range(N) : x1, y1, r1, x2, y2, r2 = list(map(int, input().split())) d = math.sqrt((x1-x2)**2 + (y1-y2)**2) # 두 원의 거리 if d==0 and r1==r2: print(-1) elif abs(r1-r2)==d or r1+r2==d: print(1) # 내접 또는 외접 elif abs(r1-r2) 1.  d = 0, r1=r2 인 경우에 겹치는 점(마린)이 있을 수 있는 경우의 수는 무한 2. 내접 또는 외접인 경우  3. 두 원에..