분류 전체보기 93

파이썬 - 흐름제어(2)

반복문 for문지정된 횟수 반복X회 반복하라(특정됨)문법for 개별데이터(멤버) in 컬렉션계열|제너레이터: 수행문 기본형# 더미데이터datas = [1,2,3,4,5] #컬렉션 계열(for문과 자주 함께 사용함)datas결과값 : [1, 2, 3, 4, 5]# for 단수형이름 in 복수형이름# 컬렉션의 경우 멤버의 수만큼 반복됨 #-> 컬렉션의 맨 처음 데이터부터 끝까지 순서대로 추출됨for data in datas: print(data) 결과값 : 12345# 5 4 3 2 1 순으로 출력하시오 (리뷰때 연습)# case 1 : 데이터를 뒤집은 후( datas.reverse() ) for문 적용# case 2 : 순서대로 접근하는데 인덱싱을 역순으로 적용한다# case ...# 첫번째 방법 :..

파이썬 - 흐름제어(1)

개요 흐름제어참고 xx문, 함수 선언, 클래스 - 해당 명칭으로 불리는 표현의 첫줄 끝에는 ':'을 붙인다 - 엔터를 치면 자동으로 들여쓰기(tab이 삽입됨) -> 코드블럭이 구성됨 - ex) 반복문, 조건문, with문, 예외처리문, define, ... - 변수의 scope(범위, 전역, 지역 등) 개념이 반영됨(함수, 클래스에서 반영)제어문조건문, 반복문코드의 실행(전개) 흐름을 컨트롤한다.일반적 실행1번 라인 실행2번 라인 실행3번 라인 실행 . . .n번 라인 실행 -> 종료흐름 제어1번 라인 실행 . . .5번 라인 실행 -> 점프(조건에 따라)9번 라인 실행 -> 반복(조건에 따라)9번 라인 실행n번 라인 실행 -> 종료이를 통해서 원하는 목적(요구사항)을 효율적으로 ..

파이썬-문법공통_타입(3)

컬렉션 1개 이상의 데이터를 관리표현 예시리스트 : list() or []list()자료구조를 먼저 생성하고 추후에 데이터를 추가하는 스타일동적 구성 스타일[]리스트 구성 시 데이터를 같이 세팅하여 생성하는 스타일정적 구성 스타일컴프리핸션(내포) 스타일 적용 타입명기호(리터럴)특징생성법*리스트[]- 순서 O- 값중복 Olist(), []*딕셔너리{}- 순서 X(3.7이후 순서유지)- 키와 값으로 매핑- 키는 고유하다dict(), {}튜플()- 순서 O- 수정 X, 단순히 값을 묶는다tuple()집합{}- 중복제거set()리스트 생성list()뉘앙스적으로 리스트를 구성하고 추후에 멤버 추가 시 선호됨# 1. 생성datas = list()# 2. 확인datas, len(datas), type(datas)결과..

파이썬 - 문법공통_문법(2)

문자열 자연어 데이터자연서 -> 토큰화 과정 or 임베딩 과정 -> 수치화(벡터로 표기됨) : NLP/LLM 등에서 사용됨(AI관점)단일 데이터형이면서 연속 데이터형임.(컬렉션)데이터 종류프롬프트, 텍스트데이터, 로그(스마트팩토리, IOT, 이커머스)수정 불가.원본 수정 X, 원본을 카피하여 수정하고 새로 할당 O(내부적인 작업)리터럴한줄(js와 동일)'...'"..."여러 줄(js에서는 ')주석, 구조 유지하는 문자열, 프롬프트(LLM에게 질의할 때) 사용.'''....'''"""...."""'''select *form userswhere id = "k" -> 구조를 유지하면서 여러 줄을 표현해야 할 때''' 기본 다루기 # 한 줄 문자열sample = 'abcs ABCD 1234 !@#$ 가나다라'..

프로그래머스 [이웃한 칸]

이번 문제는 아래와 같은 의사코드가 함께 있었다.1. 정수를 저장할 변수 n을 만들고 board의 길이를 저장합니다.2. 같은 색으로 색칠된 칸의 개수를 저장할 변수 count를 만들고 0을 저장합니다.3. h와 w의 변화량을 저장할 정수 리스트 dh, dw를 만들고 각각 [0, 1, -1, 0], [1, 0, 0, -1]을 저장합니다.4. 반복문을 이용해 i 값을 0부터 3까지 1 씩 증가시키며 아래 작업을 반복합니다. 4-1. 체크할 칸의 h, w 좌표를 나타내는 변수 h_check, w_check를 만들고 각각 h + dh[i], w + dw[i]를 저장합니다. 4-2. h_check가 0 이상 n 미만이고 w_check가 0 이상 n 미만이라면 다음을 수행합니다. 4-2-a..

프로그래머스 [붕대 감기]

이번 문제는 구현만 할 수 있으면 간단하게 풀 수 있는 문제였다.평소 게임을 좋아했기 때문에 게임처럼 체력이 깎이고 회복하는 기능을 구현하는 것이 재밌었다.class Solution { public int solution(int[] bandage, int health, int[][] attacks) { // 해당 변수의 값까지 카운트가 되면 추가 회복 int healTime = bandage[0]; // 연속 회복시간 int successHeal = 0; // 초당 회복량 int heal = bandage[1]; // 추가 회복량 int bonusHeal = bandage[2]; ..

프로그래머스 [동영상 재생기]

문자열 형식으로 주어지는 시간을 초단위로 바꾸는 발상을 하는 데에 오래 걸렸지만 그 발상을 하고 나서 구현하는 것은 어렵지 않았다.기본적인 자바 메소드를 다룰 수 있으면 풀 수 있는 문제였다.class Solution { public String solution(String video_len, String pos, String op_start, String op_end, String[] commands) { // 연산하기 편하게 초 단위 int로 변경 int intVideoLen = stringToSec(video_len); int intPos = stringToSec(pos); int intOpStart = stringToSec(op_start); int intOpEnd = stringT..

프로그래머스 [택배 기사]

이번 문제는 풀기 전에 미리 구상하는 것이 중요하다는 걸 다시 느끼게 해줬다.막무가내로 풀었으면 조건문을 많이 쓸 수도 있었을 텐데 미리 로직을 짜고 코딩을 시작하니 간단하게 풀 수 있었다.class Solution { public int solution(int n, int w, int num) { //배열과 같은 인덱스로 맞추기 위해 -1씩 해준다. num--; n--; // row는 행, col은 열을 의미함. 아래 세줄은 꺼내야하는 상자의 행과 열을 구함. int row = num/w; int loc = num%w; int col = row%2 == 1 ? w-loc-1 : loc; ..

프로그래머스 코테 연습 [유연근무제]

다 하고 보면 간단한 문제였지만 인덱스를 어떻게 맞춰야 하는지, 비교는 어떤 방식으로 할지, 조건문은 어떻게 써야 깔끔할지 생각하는 것이 어려운 문제였다.class Solution { public int solution(int[] schedules, int[][] timelogs, int startday) { // 배열이 0~6으로 인덱싱되어 있지만 startday만 1~7로 되어있기 때문에 맞춰줘야함 startday--; int limit = 0;int reward = schedules.length;for(int i = 0; i = 60 ? schedules[i]+50 : schedules[i]+10;for(int j = 0; j limit) {reward--;break..

파이썬 - 문법공통_타입(1)

주석명칭코멘트(comment)코드에 관여하지 않음.코드에 관한 설명, 개발자 멘트 등주석 -> 해석 -> AI가 코드 자동완성 스타일 제공문서화 작업 시 중요한 부분문서 자동화 -> Swagger 등 툴 제공(fastapi는 기본 설치하면 자동 처리)문법 # 1줄 주석 ''' 여러 줄 주석 원래는 문자열인데, 주석처럼 활용함. 함수, 클래스 내부에 1열에 위 주석으로 사용하면 함수 ,클래스 사용 시 툴팁으로 주석 제공 def add(x,y) : ''' 더하기 함수. 함수 1열에 넣었기 때문에 함수 주석이 되어 툴팁 제공함. ''' ''' def add(x,y): ''' 더하기 함수. 함수 1열에 넣었기 때문에 함수 주석이 되어 툴팁 제공함. parameters ..