분류 전체보기
-
os.mkdir()가 필요한 이유pandas 2025. 7. 18. 09:56
현대적인 프로그래밍 환경에서는 os.makedirs()가 훨씬 편리하고 강력해서 대부분의 경우에 더 나은 선택이 되는 것이 맞습니다.하지만 os.mkdir()가 여전히 존재하는 데에는 몇 가지 중요한 이유가 있으며, 특정 상황에서는 os.mkdir()가 더 적합한 도구가 되기도 합니다.1. 명시성과 안전성 (Explicitness and Safety)os.mkdir()의 가장 큰 특징은 **"상위 디렉터리가 반드시 존재해야만 한다"**는 제약 조건입니다. 이것은 단점이 아니라, 때로는 의도된 안전장치로 작동합니다.상황: 어떤 프로그램이 /var/log/my_app 디렉터리에 로그를 써야 한다고 가정해 봅시다. 시스템 관리자는 /var/log 디렉터리를 미리 준비해 두어야 합니다.os.mkdir('/var..
-
os.makedirs() 함수란?pandas 2025. 7. 18. 09:56
os.makedirs()는 재귀적으로(recursively) 디렉터리(폴더)를 생성하는 함수입니다. 여기서 '재귀적'이라는 의미는, 지정한 경로에 필요한 모든 중간 디렉터리가 존재하지 않더라도 자동으로 생성해준다는 뜻입니다.이는 단 하나의 디렉터리만 생성할 수 있는 os.mkdir() 함수와의 가장 큰 차이점입니다.os.mkdir()와의 비교이해를 돕기 위해 두 함수를 비교해 보겠습니다. project/assets/images 라는 경로를 만들고 싶다고 가정해 봅시다.os.mkdir("project/assets/images")project 디렉터리가 존재하고, 그 안에 assets 디렉터리가 존재할 때만 images 디렉터리를 생성할 수 있습니다.만약 project나 assets 디렉터리가 없다면 Fil..
-
이스케이프 시퀀스(Escape Sequence)란?pandas 2025. 7. 17. 17:13
이스케이프 시퀀스(Escape Sequence)란?사전적 정의컴퓨터 과학에서 **이스케이프 시퀀스(Escape Sequence)**란, 문자열이나 데이터 스트림(Data Stream) 내에서, 뒤따라오는 문자들의 의미를 문자 그대로가 아닌 다른 의미로 해석해야 함을 알리는 특정 문자들의 조합을 의미합니다. 일반적으로 제어 문자를 표현하거나, 문법적으로 특별한 의미를 갖는 문자를 일반 문자로 표현하기 위해 사용됩니다.쉬운 설명: "특별 임무를 부여하는 비밀 신호"위의 정의가 조금 어렵게 느껴지시나요? 이스케이프 시퀀스를 **"문자에게 특별한 임무를 부여하는 비밀 신호"**라고 생각하면 쉽습니다.이 비밀 신호는 항상 **백슬래시(\)**로 시작합니다. \는 컴퓨터에게 이렇게 말하는 것과 같습니다."잠깐! 나..
-
파이썬 파일 경로 다루기: os.path.join(), os.listdir(), r'', 리스트 컴프리헨션 완벽 정리pandas 2025. 7. 17. 16:12
파이썬으로 로컬 파일을 다룰 때 파일 경로는 가장 기본적이면서도 실수를 유발하기 쉬운 부분입니다. 이 글에서는 파일 경로를 정확하고 효율적으로 처리하는 세 가지 핵심적인 방법을 정리합니다.1. 백슬래시(\) 문제와 Raw String(r'')윈도우 운영체제에서는 경로 구분자로 백슬래시(\)를 사용합니다. 하지만 파이썬 문자열에서 \는 뒤따라오는 문자와 결합하여 특별한 의미를 갖는 '이스케이프 시퀀스(Escape Sequence)'로 사용됩니다.\n: 줄바꿈\t: 탭\U: 유니코드 이스케이프 시작이 때문에 윈도우 경로를 문자열에 그대로 사용하면 의도치 않은 오류가 발생합니다. - 문제 발생 예시Generated python# \U, \n 등 이스케이프 시퀀스로 해석되어 SyntaxError 또는 잘못된 경..
-
Pandas, 너 도대체 뭐니? (Series와 DataFrame 핵심만 콕콕!)pandas 2025. 7. 16. 11:08
오늘은 판다스의 가장 기본이자 핵심인 Series와 DataFrame이 뭔지, 취준생 눈높이에서 완전 쉽게 정리해 볼게요. 이것만 알아도 일단 절반은 먹고 들어갑니다!1. Pandas란? (데이터 전처리의 끝판왕)쉽게 말해서, 파이썬으로 지저분한 데이터를 만질 때 쓰는 필수템이에요.우리가 앞으로 회사에서 받게 될 데이터는 절대 깔끔하지 않거든요. 엑셀이나 csv 파일을 받아서, 우리가 분석하기 좋게 요리조리 주무르는 모든 과정을 판다스가 도와준다고 생각하면 돼요. 진짜 이거 없으면 데이터 분석 못 합니다 (단호).2. Series란? (이름표 붙은 한 줄짜리 데이터)이건 그냥 **엑셀 표의 '세로 한 줄'**이라고 생각하면 제일 편해요.예를 들어 '나이'라는 열에 25, 30, 22... 이렇게 쭉 데이..
-
[D3] SWEA 2805. 농작물 수확하기SWEA 2024. 5. 1. 20:02
1. 접근 방식2가지 방법이 있다.(1) (s,e) 범위만큼 탐색s=e=n//2이고is-=1e+=1i>=n//2이면s+=1e-=1해주는 방식(2) 규칙성을 찾는 방식n=5i=0 j=m-0 ~ m+0 (m-i ~ m+i)i=1 j=m-1 ~ m+1 (m-i ~ m+i)i=2 j=m-2 ~ m+2 (m-i ~ m+i)i=3 j=m-1 ~ m+1 (m-(n-1)-i ~ m+(n-1)-i )i=4 j=m-0 ~ m+0 (m-(n-1)-i ~ m+(n-1)-i ) 2. 디테일한 구현범위값 대로 구현해주면 된다. 3. 코드 구현12345678910111213141516171819202122232425262728293031if __name__=='__main__': # sys.stdin=open('input2.t..
-
[D3] SWEA 1240. [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드SWEA 2024. 5. 1. 17:32
1. 접근 방식암호들은 무조건 1로 끝난다.암호는 7글자*8개=총 56글자다열의 끝에서부터 탐색해서1이 발견되면 ( 1이 발견된 인덱스- 55 ~ 1이 발견된 인덱스 )까지 가져오면 된다.그리고 7글자씩 자르면 된다. 2. 디테일한 구현접근 방식대로 코드를 짜면 된다. 3. 코드 구현1234567891011121314151617181920212223242526272829303132333435363738394041424344if __name__=='__main__': sys.stdin=open('input2.txt','r') test_case=int(input()) ## 총 테스트 케이스 개수 for tc in range(test_case): n,m=ma..
-
[D3] SWEA 1209. [S/W 문제해결 기본] 2일차 - SumSWEA 2024. 5. 1. 13:45
1. 접근 방식i=0~100, j=0~100res+=s[i][j] ##각 행에 대한 원소들의 누적합res+=s[j][j] ##각 열에 대한 원소들의 누적합i=0~100res+=s[i][i] ##대각선에 대한 원소들의 누적합res+=s[i][100-1-i] ##대각선에 대한 원소들의 누적합 2. 디테일한 구현위의 식대로 구현해주면 된다. 3. 코드 구현123456789101112131415161718192021222324252627282930313233343536373839404142434445if __name__=='__main__': # sys.stdin=open('input2.txt','r') #test_case=int(input()) ## 총 테스트 케이스 개수 ..