분류 전체보기
[백준] 그룹 단어 체커 / 1316번 / 파이썬 / Python
🎫code ) cnt = 0 for i in range(int(input())): word = input() word_lst = [word[0]] for k in range(1, len(word)): if word[k] != word[k - 1]: word_lst.append(word[k]) word_set = set(word_lst) if len(word_lst) == len(word_set): cnt += 1 print(cnt) 📌 description ) 문제출처 : www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두..
[백준] 유기농배추 / 1012번 / 파이썬 / Python
🎫code ) for tc in range(1,int(input())+1): m, n, k = map(int,input().split()) arr = [[0]*m for _ in range(n)] stack = [] cnt = 0 dx = [-1,1,0,0] dy = [0,0,-1,1] for i in range(k): y, x = map(int,input().split()) arr[x][y] = 1 for i in range(m): for j in range(n): if arr[j][i] == 1: stack.append((j,i)) while stack: x, y = stack.pop() arr[x][y] = 2 for k in range(4): nx, ny = x+dx[k], y+dy[k] if 0
[백준] LCS / 9251번 / 파이썬 / Python / 최장 공통 부분수열
🎫code ) s1 = input() s2 = input() matrix = [[0] * (len(s2) + 1) for _ in range(len(s1) + 1)] for i in range(1, len(s1) + 1): for j in range(1, len(s2) + 1): if s1[i - 1] == s2[j - 1]: matrix[i][j] = matrix[i - 1][j - 1] + 1 else: matrix[i][j] = max(matrix[i - 1][j], matrix[i][j - 1]) print(matrix[-1][-1]) 📌 description ) 문제출처 www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence..
[프로그래머스] 베스트앨범 / 파이썬 / Python / 해시
💫solutions ) 💬 defaultdict, heapq 모듈 사용 👩💻 code ) from collections import defaultdict import heapq def solution(genres, plays): gen = defaultdict(list) cnt = defaultdict(int) for i in range(len(genres)): heapq.heappush(gen[genres[i]], (-plays[i], i)) cnt[genres[i]] += plays[i] cnt_lst = [] for k, v in cnt.items(): cnt_lst.append((v, k)) cnt_lst.sort(key=lambda x: -x[0]) answer = [] count = 0 fo..
[백준] 체스판 다시 칠하기 / 1018번 / 파이썬 / Python
🎫code ) import sys def chess(a, b, c): cnt = 0 for i in range(a, a + 8): for j in range(b, b + 8): if i == a and j == b: if c == 'W': chk = 'B' if bg[i][j] != c: cnt += 1 else: chk = 'W' if bg[i][j] != c: cnt += 1 continue if chk == 'W': if bg[i][j] != 'W': cnt += 1 chk = 'B' else: if bg[i][j] != 'B': cnt += 1 chk = 'W' if chk == 'W': chk = 'B' else: chk = 'W' return cnt input = sys.stdin.readli..
[백준] 보물 / 1026번 / 파이썬 / Python
🎫code ) import sys input = sys.stdin.readline n = int(input()) a = list(map(int, input().rstrip().split(' '))) t_b = list(map(int, input().rstrip().split(' '))) b = [] for idx, val in enumerate(t_b): b.append((val, idx)) a.sort() b.sort(key=lambda x: -x[0]) res = 0 for i in range(n): tmp = a[i] * b[i][0] res += tmp print(res) 📌 description ) 문제출처 : www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이..
[네트워크] HTTP 개념/ 특성 / 메소드 / 상태코드
💫 HTTP란? 👉 HTTP(Hyper Text Transfer Protocol)는 인터넷에서 데이터를 주고 받을 수 있는 통신규약(프로토콜!) HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 💫 HTTP 특성 👉 가장 대표적인 특성은 2가지 비연결성, 무상태 💬 비연결성(Connectionless) : 클라이언트(브라우저)와 서버가 연결된 후, 클라이언트 요청에 대해 서버가 응답을 마치면 연결을 끊는 특성 💬 무상태(Stateless) : HTTP의 비연결성으로 인해 서버가 클라이언트를 식별할 수 없는 특성. 각각의 요청을 독립적인 트랜잭션으로 취급 장점 단점 비연결성(Connectionless) HTTP는 인터넷 상에서 불특정 다수의 통신 환경을..
[프로그래머스] SQL LEVEL 2 전체 문제 /Oracle /오라클
🚩최솟값 구하기 SELECT MIN(DATETIME) FROM ANIMAL_INS 🚩동물 수 구하기 SELECT COUNT(ANIMAL_ID) FROM ANIMAL_INS 🚩중복 제거하기 SELECT COUNT(DISTINCT(NAME)) FROM ANIMAL_INS WHERE NAME IS NOT NULL 🚩NULL 처리하기 SELECT ANIMAL_TYPE, NVL(NAME, 'No name'), SEX_UPON_INTAKE FROM ANIMAL_INS ORDER BY ANIMAL_ID 🚩고양이와 개는 몇 마리가 있을까 SELECT ANIMAL_TYPE, COUNT(*) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE 🚩동명 동물..
[네트워크] 세션과 쿠키의 차이
*세션과 쿠키의 차이점은 맨 아래에 💫왜 쿠키와 세션을 사용할까? 👉 기본적으로 HTTP 특성으로 인한 문제를 해결하기 위해서 사용하는데 즉, 클라이언트 인증을 유지하기 위해 사용한다. 쇼핑몰의 예를 들어 보자. 쿠키와 세션을 사용하지 않으면 장바구니에 물품을 담은 경우 새로고침 시 장바구니가 초기화 되어 사용자가 불편을 겪게 된다. 마찬가지로 페이지를 이동할 때마다 로그인을 계속 해야 하는 불편함이 생기게 된다. 이유는 서버가 클라이언트(브라우저)가 누구인지 기억하지 않기 때문인데, 따라서 쿠키와 세션을 사용해 서버가 클라이언트를 기억할 수 있는 것이다. 💫HTTP 프로토콜의 특성 그렇다면 HTTP 프로토콜의 어떤 특징 때문에 쿠키와 세션이 필요한지 알아보자 👇 Connectionless : 클라이언트..
[백준] 스택 수열 / 1874번 / 파이썬 / python
🎫code ) from sys import stdin input = stdin.readline n = int(input()) nums = [int(input()) for _ in range(n)] cnt, s, res = 1, [], [] # res 결과값 리스트 for i in nums: while i >= cnt: s.append(cnt) res.append('+') cnt += 1 if s.pop() != i: print('NO') break else: res.append('-') else: print('\n'.join(res)) 📌 description ) 문제출처 : www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push..
[네트워크] 프로토콜의 개념 / 특징 / 요소 / 종류
💫 프로토콜이란? 👉 서로 다른 시스템 및 기기 간 데이터 교환을 원활히 하기 위한 표준화된 통신규약 기기 간 통신은 교환되는 데이터 형식에 대해 상호 협의를 요구하기 때문에 프로토콜이 필요한 것이며, 공통의 데이터 교환 방법이나 순서에 대해 정의한 약속, 규칙 체계를 의미한다. 따라서 동일한 프로토콜을 사용하면 기종 및 프로그램이 다르더라도 컴퓨터간 상호 통신이 가능하다. 따라서 이기종 간 정보 통신을 하기 위해 표준 프로토콜을 채택하여 통신망을 구축해야 한다. 💫 프로토콜의 기본 요소 👉 기본 요소는 크게 구문, 의미, 타이밍 세 가지가 있다. -> '구의타' 기본요소 설명 구문(Syntax) 송수신 데이터 형식, 코딩, 신호 레벨 등 규정 의미(Semantic) 제어 정보로 조정과 에러 처리를 위한..
[백준] 듣보잡 / 1764번 / 파이썬 / python
🎫code ) import sys input = sys.stdin.readline n, m = map(int, input().split(' ')) n_l = set() n_s = set() for _ in range(n): name = input().rstrip() n_l.add(name) for _ in range(m): name = input().rstrip() n_s.add(name) res = sorted(list(n_l & n_s)) print(len(res)) for i in res: print(i) 📌 description ) 문제출처 : www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 ..