분류 전체보기 177

[Python][백준] 13144. List of Unique Numbers / 투포인터 (G4)

🔗링크 :  https://www.acmicpc.net/problem/13144🗒️파이썬 코드 풀이import sysinput = sys.stdin.readlineN = int(input())lst = list(map(int,input().split()))number = set()rs = sp = 0 for ep in range(N): while lst[ep] in number: number.remove(lst[sp]) sp += 1 number.add(lst[ep]) rs = rs + ep - sp + 1print(rs)ex)1 2 3 1 2 1. 위와 같은 입력을 예시로 들어보자. 아마 대부분의 보통은 1 / 1,2 / 1,2,3 /  2 / 2,3 / ..

[Python][백준] 14891. 톱니바퀴 / 시뮬레이션,구현 (G5)

🔗링크 :  https://www.acmicpc.net/problem/14891🗒️파이썬 코드 풀이import sysfrom collections import dequeinput = sys.stdin.readline# 방향 로테이션def wheel_rotate(graph,i,dir): graph[i].rotate(dir) return # 방향 로테이션 스택에 넣어주기def stack_rotate(graph,n,dir): stack = [(n,dir)] rdir = -dir for i in range(n,0,-1): if graph[i][6] != graph[i-1][2]: stack.append([i-1,rdir]) ..

[Python][백준] 12865. 1로 만들기 2 / DP (S1)

🔗링크 :  https://www.acmicpc.net/problem/12865🗒️파이썬 코드 풀이N = int(input())INF = sys.maxsizedp = [INF]*(N*4)dp[0],dp[1] = 0,0for i in range(1,N+1): dp[i*3] = min(dp[i]+1, dp[i*3]) dp[i*2] = min(dp[i]+1, dp[i*2]) dp[i+1] = min(dp[i]+1, dp[i+1])dp = dp[:N+1]cur = Nlst = [N]for k in range(N,0,-1): if dp[k] == dp[cur]-1 and (k*3==cur or (k+1)==cur or (k*2)==cur) : lst.append(k) ..

C언어의 포인터 기본 개념

✨ C언어 포인터C언어의 포인터는 메모리 주소를 저장하는 변수이다.(변수나 배열의 값을 간접적으로 접근하고 조작하는 방식) 💡도대체 포인터는 왜 필요할까 ? 포인터를 사용하는 이유는 다음과 같다.  1. 포인터는 특정 변수나 데이터의 메모리 주소를 가리켜서 직접적으로 메모리 접근이 가능하다.2. 포인터를 사용하면 함수를 호출할 때 값을 복사하지 않고 주소를 전달하여, 메모리 낭비를 줄이고 직접 수정이 가능하다.3. 동적으로 메모리를 할당하여 프로그램의 메모리사용을 효율적으로 관리한다.  4. 복잡한 자료구조 (연결 리스트, 트리, 그래프 등 ) 동적 자료 구조 구현에 필수적이다. 💡그렇다면 왜 !! 이중 포인터가 필요할까 ? 1. 다차원 배열을 처리할때, 이중 포인터로 각 행을 동적으로 할당하거나 관..

C언어 2024.10.05

정글 7기 27, 28일차 / CS:APP 3장, 3주차 쪽지 시험, 배낭 문제 (알고리즘)

🐸  9월 30 일 / 27일차이날은 오전,오후는 하루종일 배낭 문제를 풀었고  저녁을 먹고나서CS:APP을 공부하였다.확실히 주말에 공부를 안하니 할게 정말 많이 밀린다... DP는 왠지 모르게 늘 새롭다 ㅠㅠ 계속 문제를 많이 풀어서 익숙해져야한다. (반드시!!)  [Python][백준] 12865. 평범한 배낭 / DP, 배낭 문제 (G5)🔗링크 :  https://www.acmicpc.net/problem/12865🗒️파이썬 코드 풀이N,K = map(int,input().split())lst = [(0,0)]dp = [[0] * (K+1) for _ in range(N+1)]for _ in range(N) : x,y = map(int,input().split()) lst.append((x,..

크래프톤 정글 2024.10.04

[Python][백준] 12865. 평범한 배낭 / DP, 배낭 문제 (G5)

🔗링크 :  https://www.acmicpc.net/problem/12865🗒️파이썬 코드 풀이N,K = map(int,input().split())lst = [(0,0)]dp = [[0] * (K+1) for _ in range(N+1)]for _ in range(N) : x,y = map(int,input().split()) lst.append((x,y))for i in range(len(lst)): w,v = lst[i] for j in range(1,K+1) : if j  1. 배낭 문제는 2차원 DP 테이블이 필요하다. (인덱싱을 편하게 하기위해 왠만하면 0을 추가 해준다. ) 2. (w,v) 무게와 가치를 입력받은 리스트를 만들어준다. 3. 입력받은..

리눅스 명령어 / VI 명령어 모음

✨ 자주 사용되는 리눅스 명령어 ls: 내 위치의 모든 파일을 보여준다.pwd: 내 위치(폴더의 경로)를 알려준다.mkdir: 내 위치 아래에 폴더를 하나 만든다.cd [갈 곳]: 나를 [갈 곳] 폴더로 이동시킨다.cd .. : 나를 상위 폴더로 이동시킨다.cp -r [복사할 것] [붙여넣기 할 것]: 복사 붙여넣기rm -rf [지울 것]: 지우기sudo [실행 할 명령어]: 명령어를 관리자 권한으로 실행한다.sudo su: 관리가 권한으로 들어간다. (나올때는 exit으로 나옴)   ✨ 자주 사용되는 VI 명령어  1.  Command modei 현재 커서 위치에 삽입 (입력모드로 넘어감)a 현재 커서 바로 다음위치에 삽입 (입력모드로 넘어감)o 현재 줄 다음 위치에 삽입 (입력모드로 넘어감)- 영문 ..

WEB/Backend 2024.10.03

SFTP 파일 전송 (VS Code 플러그인으로 원격 서버 파일 전송)

✨SFTP 란 ? SFTP (Secure File Transfer Protocol)은 안전하게 파일을 전송하기 위한 프로토콜로,원격 서버와 클라이언트 간에 데이터를 암호화하여 안전한 파일 전송을 보장한다.(기본적으로 SSH (Secure Shell) 기반으로 동작) STFP는 데이터 전송 과정에 모든 명령어가 암호화되어 일반적인 FTP보다 안전하다. SSH 기반이라 SSH의 포트 (기본적으로 22번)를 통해 통신하고,파일 업로드, 다운로드, 권한 변경, 삭제, 이동 등의 작업도 가능하다. 보통 로컬 파일을 원격 서버에 업로드, 다운로드, 동기화에 사용된다. FileZilla 같은 GUI 기반의 SFTP 클라이언트를 사용해도 되는데,이번 포스팅에서는 VS Code의 플러그인의 사용에 대해 작성한다.   A..

WEB/Backend 2024.10.03

정글 7기 24, 25, 26일차 / DP, 휴식

🐸  9월 27일 / 24일차 정글에서의 3주차 자리 배정이 나왔고, 금요일 아침에 정신없게 자리를 바꿨다. 그리고 새로운 팀원들과 어떤 식으로 스터디를 할 지 고민을 하였다.  이번 3주차에는 컴퓨터 시스템의 분량이 생각보다 많다.3장 전체를 해야되기 떄문에 할게 정말 정말 많다.... 우선 팀 코어 타임으로는 알고리즘을 중점적으로 할 생각이다. 방식은 짧게 20분정도 알고리즘 문제를 보고,어떻게 그 문제에 접근했는지 서로의 생각을 공유한다. 이 과정에서 내가 생각하지 못했던 인싸이트를 얻을 수 있다. 그리고 이 새로운 인싸이트로 다시 문제를 푼다.  이날은 알고리즘 위주로 학습을 하였고, 주로 DP 문제를 이해하는 것을 목표로 하였다 . DP 문제를 칠판에 적어두고, 점화식을 유도한다.칠판에 적는게..

크래프톤 정글 2024.10.02