일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 맵핑
- Java #객체지향 # 프로그래밍 # SOLID #OOP
- Anaconda #가상환경
- 추상클래스 #인터페이스
- 라이브러리 #IT지식 #CS지식
- 알고리즘 #백준 #집합과맵
- GPT #챗봇
- 백준 #알고리즘
- 프로그래머스 #파이썬 #python #슬라이싱 #코딩
- 스톱워치
- Python
- 문자열
- Today
- Total
목록전체 글 (30)
고통은 사라지고 결과는 남는다. Records of Chansolve

11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 예제입력 ababc 예제출력 12 예제가 잘못 되었는지 출력하면 18로 나온다. 하지만 정답으로 찍힌다.. 첫 번째 오답 코드이다. s = input() ans = [] for i in range(len(s)): for j in range(i, len(s)): temp = s[i:j + 1] ans.append(set(temp)) print(len(ans)) 중복되는 것을 빼주어야 되니까 리스트말고 집합으로 접근해야겠다. 최종 정답 코드이다. s = input() ans = set() for i in range(len(s)): fo..
Anaconda download 가상 환경이 필요한 이유 아나콘다에서 가상환경을가상 환경을 설정해서 작업을 진행할 수 있습니다. 우리는 왜 가상 환경을 만들어서 작업을 진행할까요? 한마디로 요약하자면 "독립적인 작업환경에서 작업할 수 있다." 로 얘기할 수 있습니다. 프로젝트를 진행하다보면 여러 라이브러리, 패키지를 다운로드하여서 사용하게 됩니다. 그러다 보면 각 라이브러리들끼리 충돌을 일으키는 문제를 발생시키는 경우가 꽤 있습니다. 특정 버전과 호환하는 경우가 생겨서 최신 버전과 이전 버전 중 선택해야 하는 상황이 발생됩니다. 이러한 문제가 발생된 경우에 있어서 잘못하면 전부 삭제하고 다시 설치해야 하는 경우가 많습니다. 이를 방지하기 위해서 프로젝트 단위로 가상환경을 구성해서 필요한 라이브러리를 설치..

추상 클래스와 인터페이스 추상화 추상화는 클래스들의 공통적인 요소를 뽑아서 상위 클래스를 만들어내는 것 반드시 상위 클래스일 필요는 없어서, 공통적인 속성과 기능을 정의한 하위 클래스를 생성할 수도 있다. 한 마디로 추상화는 공통적인 속성과 기능을 정의함으로써 코드의 중복을 줄이고, 클래스 간 관계를 효과적으로 설정하고, 유지·보수를 용이하게 하는 것 자바에서는 추상 클래스와 인터페이스라는 문법 요소를 통해 추상화를 구현한다. abstract 제어자 abstract는 주로 클래스와 메서드에 붙이는 키워드 이것을 붙이면 자동으로 '추상 클래스'와 '추상 메서드'가 된다. abstract는 '추상적인'이라는 사전적인 의미가 있지만, 핵심은 '미완성'이라는 개념에 있다. abstract class 클래스명 {..
햄버거 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 슬라이싱을 이용한 문제이다. 순서 1, 2, 3, 1을 잘라서 count를 하면 된다. 코드는 이렇다. def solution(ingredient): answer = 0 burger = [] for i in ingredient: burger.append(i) if burger[-4:] == [1,2,3,1]: answer += 1 for j in range(4): burger.pop() return answer
라이브러리(Library) 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임 구성 데이터, 문서, 도움말 자료, 메세지, 틀, 미리 작성된 코드, 서브루틴(함수), 클래스, 값, 자료형 사양을 포함 할 수 있다. OS/360 및 이후 세대에서는 파티션 데이터 세트로 부름 구체적으로 소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용될 수 있는 특정한 기능을 모듈화한 것 대상 환경(플랫폼)에서 바로 실행될 수 있는 형태로 제공되며, 실제 실행되어 기능을 수행하는 단편화된 프로그램이라는 점이 API와 다름 프로그래밍 언어에서 라이브러리를 사용할 수 있도록 소스코드 수준에서 인터페이스를 노출시킨 것이 바로 Application Programming Interface(A..
객체 지향 프로그래밍(Object Oriented Programming) 객체 지향 프로그래밍(OOP) 컴퓨터 프로그래밍 패러다임 중 하나 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 OOP의 장·단점 장점 코드 재사용이 용이 남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용할 수 있다. 유지보수가 쉬움 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아 수정해야하는 반면, 객체 지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버 변수혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 된다. 대형 프로젝트에 적합 클래스 단위로 모듈화시켜서 개발할 수 있으므로 대형..