분류 전체보기

    [Python]split, join 함수

    split() 함수 -> 문자열을 나누기 위해 사용한다. 사용법 바꾸고싶은문자열.split(인자) 예시 result = 'How are you?'.split() print(result) 결과 : ['How', 'are', 'you?'] 위와 같이 공백을 기준으로 문자열을 나눌 수 있다. 공백이 아닌 다른 구분자를 이용하려면 split(',') 처럼 사용해주면 된다. 바꾸고 싶은 문자열에도 변수/문자열 모두 다 사용이 가능하다. join 함수 -> 문자열을 결합하기 위해 사용한다. 사용법 '원하는기준'.join(바꾸고 싶은 문자열/변수) 예시 example = ['a', 'b', 'c'] ','.join(example) print(example) 결과 : 'a,b,c' '_'.join(example) 로 ..

    [Python]lambda 함수

    lambda 란? 람다는 런타임에 생성해서 사용할 수 있는 익명 함수다. 쓰고 버리는 일회용 함수라고 생각하면 된다. 사용 방법 lambda 인자 : 표현식 예시 >>> def hap(x, y): ... return x + y ... >>> hap(10, 20) 30 위와 같은 함수를 labmda를 이용 하면 아래와 같이 변경할 수 있다. >>> (lambda x,y: x + y)(10, 20) 30 또한, lambda를 변수에 할당하여 재사용 할 수도 있다. lambda의 활용 방법 map 함수에서의 활용 -> map 함수는 함수와 리스트를 인자로 받는다. 이를 간략하게 하기 위하여 lambda 를 사용할 수 있다. >>> list(map(lambda x: x ** 2, range(5))) # 파이썬 ..

    [Python]map, filter 함수

    map 내장 함수 파이썬의 내장 함수인 map() 는 여러 개의 데이터를 한 번에 다른 형태로 변환하기 위해서 사용한다. 따라서, 여러 개의 데이터를 담고 있는 list 나 tuple 을 대상으로 주로 사용한다. 사용 방법 map(변환 함수, 변환할 데이터) map() 함수는 두번째 인자로 넘어온 데이터가 담고 있는 모든 데이터에 첫번째 인자의 변환 함수를 적용하여 다른 형태의 데이터를 반환한다. 예시 >>> a = map(int, input().split()) 10 20 (입력) >>> a >>> list(a) [10, 20] 위와 같이, map 함수를 적용할 경우 map object로 return 되므로, list() 나 tuple() 을 사용하여 변환 후 사용해 주는 것이 일반적이다. filter ..

    [프로그래머스]네트워크-DFS/BFS

    https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr DFS 알고리즘 이용 def solution(n, computers): visited = [0 for _ in range(n)] cnt = 0 def dfs(visited, i): visited[i] = True for j in range(n): # 컴퓨터가 연결되어 있고, 방문하지 않은 곳이라면 방문 if computers[i][j] == 1 and no..

    [프로그래머스]타겟넘버-DFS/BFS

    https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr DFS 알고리즘 이용 # DFS 알고리즘 이용 def solution(numbers, target): cnt = 0 def dfs(level, sum): # 주어진 수를 모두 이용했을때 if level == len(numbers): # 더한 최종 값이 target과 같다면 if sum == target: no..

    [JAVA]스타크래프트 프로그램

    아래의 사진과 같이 동작하는 것을 알 수 있다.

    [JAVA]스타크래프트

    자바 언어를 활용하여 스타크래프와 비슷한 기능을 하는 프로그램을 제작해보았다. 프로그램은 아래의 형태와 같은 구조를 지닌다. Game 클래스 import java.util.Scanner; public class Game { static int people = 0; //현재 인구수. static int people_limit = 10; //제한 인구수.(총 200까지 늘어남) public static void main(String[] args) { Scanner sc = new Scanner(System.in); int select; int build; CommandCenter c = new CommandCenter(); //객체 생성. SupplyDepot s = new SupplyDepot(); Bar..

    [프로그래머스]체육복-그리디

    체육복 문제 코드 def solution(n, lost, reserve): set_reserve = set(reserve)-set(lost) set_lost = set(lost)-set(reserve) for i in set_reserve: if i-1 in set_lost: set_lost.remove(i-1) elif i+1 in set_lost: set_lost.remove(i+1) return n-len(set_lost) 코드 설명 먼저 set(집합) 함수를 활용하여 여유 분이 있는 학생들 중에서 잃어버린 경우를 계산하여 체육복 수를 갱신하여 줍니다. 그 후, 잃어버린 학생들 집합에서 여유 분이 있는 학생들 집합을 빼주어 진짜로 잃어버려서 빌려야 하는 학생들만을 집합으로 남겨두고 갱신한다. 여유 ..

    [코드업 기초 100제]1096~1099 번 문제 풀이

    1096번 a=int(input()) arr=[[0]*19 for i in range(19)] //이차원 배열 생성 for x in range(a) : //입력된 횟수 만큼 반복문 수행 a, b = map(int, input().split()) //좌표 위치 저장 arr[a-1][b-1]=1 //좌표 위치의 배열을 1로 할당, 배열 인덱스 0 부터 시작이라 -1씩 줌 for i in arr : //배열 만큼 반복 for j in i : //리스트 안의 값을 뽑아냄 print(j, end=' ') print() //줄바꿈 1097번 arr = [[0]*19 for x in range(19)] //이차원 배열 생성 for i in range(19) : //주어진 배열 input값 할당하는 반복문 a = li..

    [코드업 기초 100제]1091~1095 번 문제 풀이

    1091번 a, m, d, n = map(int, input().split()) for x in range(n-1) : a = a*m+d print(a) 1092번 a, b, c = map(int, input().split()) day = int(1) //처음 가입한 날 while (day%a != 0 or day%b !=0 or day%c != 0) : //서로 동시에 방문하기 전까지 반복문 수행 //동시에 방문하는 순간 종료(즉, 최소 공배수) day += 1 //카운트 print(day) //반복문 종료 후 서로 동시에 방문하는날 출력 1093번 a = int(input()) b = input().split() arr = [] for i in range(24) : //23명의 학생을 위한 1차원 배..