Content Menu

명이나물 라이브러리

프로필사진
  • Write
  • Manage
  • 방명록
  • 전체 (228)
    • 프로젝트 (4)
    • AI (1)
    • CS (26)
      • 운영체제(OS) (16)
      • 컴퓨터 구조 (0)
      • 네트워크 (0)
      • 자료구조 (2)
      • 알고리즘 (8)
    • DB (2)
      • Mysql (0)
      • PostgreSQL (2)
    • Ops (3)
      • AWS (1)
      • Docker (1)
      • Git (1)
    • Web (24)
      • HTML (3)
      • CSS (4)
      • JAVASCRIPT (12)
    • Language (30)
      • PYTHON (30)
      • JAVA (0)
    • Framework (21)
      • Django (3)
      • Spring (0)
      • NestJS (18)
    • 코딩테스트 (115)
      • 프로그래머스 (88)
      • 백준 (22)
  • 방명록
명이나물 라이브러리명이나물 라이브러리
검색하기 폼
로그인 관리
Python을 Python답게) 원본을 유지한채, 정렬된 리스트 구하기 - sorted
글 썸네일
Python을 Python답게) 원본을 유지한채, 정렬된 리스트 구하기 - sorted

원본을 유지한채, 정렬된 리스트 구하기 - sorted 파이썬의 sort() 함수를 사용하면 리스트의 원소를 정렬할 수 있습니다. 이때, sort 함수는 원본의 멤버 순서를 변경하지요. 따라서 원본의 순서는 변경하지 않고, 정렬된 값을 구하려면 sort 함수를 사용할 수 없습니다. 이런 경우는 어떻게 해야 할까요? 다른 언어에서는..(또는 이 기능을 모르시는 분은) 보통 사람들은 deep copy와 sort 함수를 이용합니다. list1 = [3, 2, 5, 1] list2 = [i for i in list1] # 또는 copy.deepcopy를 사용 list2.sort() 파이썬의 sorted를 사용해보세요. 반복문이나, deepcopy 함수를 사용하지 않아도 새로운 정렬된 리스트를 구할 수 있습니다...

Language/PYTHON 2022. 1. 4. 11:44
Python을 Python답게) 알파벳 출력하기 - string 모듈
글 썸네일
Python을 Python답게) 알파벳 출력하기 - string 모듈

알파벳 출력하기 - string 모듈 이번 강의에서는 모든 대문자를 또는 모든 소문자를 또는 모든 대소문자를 또는 숫자를 가져오는 방법을 배웁니다. 다른 언어에서는..(또는 이 기능을 모르시는 분은) 보통 사람들은 a부터 z까지의 소문자를 가져오려고 할 때, 'abcdefg ....'와 같이 손수 알파벳을 입력하곤 합니다. answer = 'abcdefghijk (편의상 생략)' 파이썬은 이런 데이터를 상수(constants)로 정의해놓았습니다. import string string.ascii_lowercase # 소문자 abcdefghijklmnopqrstuvwxyz string.ascii_uppercase # 대문자 ABCDEFGHIJKLMNOPQRSTUVWXYZ string.ascii_letters..

Language/PYTHON 2022. 1. 4. 11:30
Python을 Python답게) 문자열 정렬하기
글 썸네일
Python을 Python답게) 문자열 정렬하기

문자열 정렬하기 - ljust, center, rjust 예시) '가나다라 ' # 좌측정렬 ' 가나다라' # 우측 정렬 ' 가나다라 ' # 가운데 정렬 다른 언어에서는..(또는 이 기능을 모르시는 분은) 보통 사람들은 for 문을 이용해 기존 스트링에 공백문자 (' ') 를 여러 번 붙이는 번거로운 일을 하지요. 이렇게요! ### 우측 정렬 예 s = '가나다라' n = 7 answer = '' for i in range(n-len(s)): # 문자열의 앞을 빈 문자열로 채우는 for 문 answer += ' ' answer += s 파이썬에서는 ljust, center, rjust와 같은 string의 메소드를 사용해 코드를 획기적으로 줄일 수 있습니다. s = '가나다라' n = 7 s.ljust(n..

Language/PYTHON 2022. 1. 3. 22:48
Python을 Python답게) 진법 변환 - int(x, base=10) 함수
글 썸네일
Python을 Python답게) 진법 변환 - int(x, base=10) 함수

n진법으로 표기된 string을 10진법 숫자로 변환하기 - int 함수 진법 변환 문제는 알고리즘 문제나 숙제로 자주 나오는 유형이지요. 이번 시간에는 n 진법으로 표기된 문자열을 10진법 숫자로 변환하는 방법을 배워봅시다. 예시) 5진법으로 적힌 문자열 '3212'를 10진법으로 바꾸기 다른 언어에서는..(또는 이 기능을 모르시는 분은) 보통 사람들은 for 문을 이용해 숫자를 곱해가며 문제를 풉니다. num = '3212' base = 5 answer = 0 for idx, number in enumerate(num[::-1]): answer += int(number) * (base ** idx) 파이썬의 int(x, base=10) 함수는 진법 변환을 지원합니다. 이 기본적인 함수를 잘 쓰면 코드..

Language/PYTHON 2021. 12. 30. 23:29
Python을 Python답게) 몫과 나머지 - divmod
글 썸네일
Python을 Python답게) 몫과 나머지 - divmod

알고리즘 문제를 풀다 보면, 정수를 나눈 몫과 나머지를 구해야 할 때가 있습니다. 예시) 7을 3으로 나눈 몫과 나머지를 구해야 하는 경우 다른 언어에서는..(또는 이 기능을 모르시는 분은) 보통 사람들은 나머지와 몫을 따로 구합니다 a = 7 b = 5 print(a//b, a%b) 파이썬에서는 파이썬의 divmod와 unpacking(*)을 이용하면 다음과 같이 코드를 짤 수 있습니다. a = 7 b = 5 print(*divmod(a, b)) divemode(a,b) => a를 b로 나눈 목과 나머지를 tuple로 return ⨳ divmod를 사용할 때 주의할 점 무조건 divmod를 사용하는 게 좋은 방법은 아닙니다.가독성이나, 팀의 코드 스타일에 따라서, a//b, a%b와 같이 쓸 때가 더 ..

Language/PYTHON 2021. 12. 30. 22:43
CodingTest) 신규 아이디 추천
글 썸네일
CodingTest) 신규 아이디 추천

신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입력..

코딩테스트 2021. 12. 21. 13:44
CodingTest) 로또의 최고 순위와 최저 순위
글 썸네일
CodingTest) 로또의 최고 순위와 최저 순위

로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0,..

코딩테스트 2021. 12. 20. 23:41
컴공전공자_따라잡기 | CH03. 프로세스와 스케쥴러의 이해 - 15. 컨텍스트 스위칭 개념 정리
글 썸네일
컴공전공자_따라잡기 | CH03. 프로세스와 스케쥴러의 이해 - 15. 컨텍스트 스위칭 개념 정리

컨텍스트 스위칭(문맥교환) CPU에 실행할 프로세스를 교체하는 기술 PCB에 CPU의 PC, SP 정보를 저장, 운영체제 구현에 따라 PCB정보를 메인메모리에 저장 실행할 프로세스의 PCB정보를 CPU의 PC, SP에 저장한다. 실행 중지할 프로세스 정보를 해당 프로세스의 PCB에 업데이트 해서, 메인 메모리에 저장. 다음 실행할 프로세스 정보를 메인 메모리에 있는 해당 PCB 정보를 PCB에 넣고, 실행 디스패치(dispatch) : ready상태의 프로세스를 running상태로 바꾸는 것. 굉장히 짧은 시간 ms단위로, 프로세스 스위칭이 일어난다. 어떻게하면 조금이라도 컨텍스트 스위칭 시간을 짧게 할 수 있을까? C언어가 아닌, 어셈블리어로 컨텍스트 스위칭 코드를 작성. 스위칭 속도가 빠른대신 코드의..

CS/운영체제(OS) 2021. 12. 2. 13:02
컴공전공자_따라잡기 | CH03. 프로세스와 스케쥴러의 이해 - 14. 컨텍스트 스위칭 원리
글 썸네일
컴공전공자_따라잡기 | CH03. 프로세스와 스케쥴러의 이해 - 14. 컨텍스트 스위칭 원리

프로세스와 컨텍스트 스위칭 PC(Program Counter)와 SP(Stack Pointer) 각각에 해당 주소값이 저장되며, 현재 실행중인 프로세서를 잠시 중단하고, 다른 프로세서를 실행 시키는 것을 컨텍스트 스위칭이라고 부른다. 이 컨텍스트 스위칭을 위해서 현재 실행중인 프로세서의 상태 및 정보가 PCB에 저장된다. 컨테스트 스위칭에 문제가 있으면, 운영체제가 느려지게 되며, SP와 CP는 'C언어'가 아닌, '어셈블리어'로 이루어져 있다. PCB(Process Control Block) Process Context Block 이라고도 함. 프로세스가 실행중인 상태를 캡쳐/구조화해서 저장한다. 운영체제에서 PCB를 관리한다. Process ID Register 값(PD,..

CS/운영체제(OS) 2021. 12. 2. 11:38
« 1 ··· 12 13 14 15 16 17 18 ··· 26 »

방문자

다른 주제 글 보러가기

✏️ 글쓰기

방문자

오늘
어제
전체

카테고리

«   2026/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

티스토리툴바