반응형

분류 전체보기 658

[P3] 백준 14287번 회사 문화 3 C++ 세그먼트 트리, 오일러 경로 테크닉

리뷰 오일러 경로 테크닉으로 세그먼트 트리의 노드를 재정의 하고 누적합을 구하는 문제https://www.acmicpc.net/problem/14287 전역 변수MAX_N : 직원의 최대 개수를 저장할 정수형 상수 변수n, m : 직원의 개수를 저장할 정수형 변수 n, 쿼리의 개수를 저장할 정수형 변수 mtree : 세그먼트 트리 정보를 담은 정수형 배열, 크기는 MAX_N * 4로 초기화lst : 오일러 경로 테크닉에 사용할 인접 리스트, 정수형 벡터 타입으로 크기는 MAX_N으로 초기화it : 오일러 경로에서 각 직원의 탐색 시작 시간을 저장할 정수형 배열, 크기는 MAX_N으로 초기화ot : 오일러 경로에서 각 직원의 탐색 종료 시간을 저장할 정수형 배열, 크기는 MAX_N으로 초기화timer : ..

[G5] 백준 9251번 LCS C++ 다이나믹 프로그래밍

리뷰 https://www.acmicpc.net/problem/9251문자열 두개 중 최장 공통 부분 수열의 길이를 구하는 문제 전역 변수dp : 문자열 a, b의 LCS를 동적계획법으로 찾으며 각 단계를 저장할 2차원 정수 배열 크기는 1001 * 1001로 초기화 함수없음  문제풀이문자열 두개를 각각 문자열 변수 a, b에 저장한다.a, b의 길이를 각각 정수형 변수 len1, len2에 저장한다.len1 * len2 크기의 2중 for문을 개행해 준다. 이때 인덱스는 1부터 문자열의 길이까지 포함되도록 한다.a, b의 현재 탐색범위 이전의 문자가 같을 경우 현재 dp인덱스를 이전 dp인덱스 + 1로 저장해 준다.같지 않을 경우 i의 현재 인덱스, j의 이전 인덱스값과 i의 이전 인덱스, j의 현재 ..

라즈베리파이 파이썬 제어문

조건문if ~ elif ~ else파이썬은 else if 대신 elif 를 사용한다. and / or 연산자 파이썬은 && , || 대신에 and, or 를 사용한다. 예시 코드if __name__ == "__main__": a = 10 b = 20 if a>b: if a10: print("A") elif a10: print("B") else: print("C") 출력B  for 반복문for 사용법이 C/C++ 과 조금 다르다.range(시작,끝, 증감) 예시 코드if __name__ == "__main__": a = [10,20,30] for i in range(3): print(a[i])..

라즈베리파이 파이썬 함수

print()출력 함수로 ,(콤마) 를 이용해 여러 데이터를 출력할 수 있다python은 세 가지 방법으로 문자열 포매팅이 가능하다. 예시 코드if __name__ == "__main__": print(10) print(10, 20, 30) print(10, "hello", 20) n = 12 print("SSAFY {}th Fighting!".format(n)) print(f"SSAFY {n}th Fighting!") print("SSAFY %dth Fighting!" %n) 출력1010 20 3010 hello 20SSAFY 12th Fighting!SSAFY 12th Fighting!SSAFY 12th Fighting!  print는 기본적으로 줄바꿈을 지원한다..

라즈베리파이 파이썬 자료형

개요파이썬은 type 을 선언하지 않는다.string, char에 대한 구분이 없다.마찬가지로 리스트나 튜플같은 자료구조 또한 구체적으로 명시해 주지 않는다.예를 들어 C++에서 벡터를 사용하기 위해선vector lst; 라고 선언을 해줘야 한다.하지만 파이썬에서는 lst = [] 이 코드 하나로 lst라는 이름의 리스트를 생성하였다.  List파이썬 리스트C의 배열과 다르다.type을 가리지 않는다.동적 할당lst = ['Hello', 5, 4.12] 이런식으로 리스트 안에 문자열, 정수, 실수를 모두 넣을 수 있다. 관련 메서드len() : 길이 구하는 API.append(요소) : 요소를 리스트 가장 뒤에 붙이는 APIlst = []lst.append(1)lst.append(2)print(lst.l..

라즈베리파이 파이썬 기초

라즈베리파이Maker 교육용 보드SBC( Single Board Computer )로 많은 리눅스 개발자와 임베디드S/W 개발자를 꿈꾸는 학습자들이 교육용으로 다루는 매우 훌륭한 MPU이다. 실제 OS를 건드릴 수 있으므로 리눅스 커널 프로그래밍, IoT등의 실습에서 활용된다. 라즈베리파이는 Python을 기본 언어로 사용한다.Python을 이용한 라이브러리 중 gpiozero 라이브러리를 사용한다.  용어Reference : 도움이 되는 참고자료를 뜻한다.Library : 다른 사람이 만든 소스코드를 가져다 쓸 수 있도록, 함수 / 클래스들로 구현된 소스코드 모음모듈 : 일반적으로는 큰 System을 이해하기 쉽게 기능별로 나눈 작은 단위를 뜻함 (.py 파일 1개)Package : Python 에서는..

네트워크 HTTPS

개요HTTPS(Hypertext Transfer Protocol Secure)는 HTTP에 보안 계층을 추가한 프로토콜로, 웹에서 데이터를 안전하게 주고받기 위한 암호화된 통신을 제공한다.기본적인 HTTP는 데이터를 평문(암호화되지 않은 상태)으로 전송한다.따라서 비밀번호, 신용카드 정보같이 민감한 정보가 유출될 위험이 있다.이를 방지하기 위해 HTTPS는 SSL/TLS 프로토콜을 사용하여 통신을 암호화하고, 인증 및 데이터 무결성을 보장한다.  HTTP vs HTTPS항목HTTPHTTPS보안성데이터가 평문으로 전송됨, 보안 없음SSL/TLS로 암호화된 데이터 전송인증서버의 신원을 확인할 방법 없음SSL/TLS 인증서를 통해 서버 신원 확인 가능데이터 무결성데이터 변조에 취약데이터 변조 방지, 무결성 보..

[G4] 백준 1062번 가르침 C++ 백트래킹

리뷰 에잉.. 코드 한줄 차이로 너무 헤맨 문제였다.https://www.acmicpc.net/problem/1062 전역 변수n, k, ans : 단어의 개수 n, 배울 수 있는 글자의 수 k, 정답을 저장할 변수 ansv : 방문 처리용 배열path : 중복 제거용 벡터lst : 입력된 단어를 저장할 문자열 배열, 입력 문자의 최대 크기인 50으로 초기화 한다. 함수1. btvoid bt(int level) 백트래킹을 통해 배울 수 있는 단어 개수의 최대값을 구하는 함수매개변수로 level을 받아 각 재귀 단계 즉 배운 글자의 개수를 명시해 준다.기저조건은 level이 k - 5가 되었을때이다. cnt를 0으로 초기화 하고 n개의 문자열을 순회한다.flag를 1로 설정하고 각 문자열이 방문처리 되어있..

[G5] 백준 10472번 십자뒤집기 C++ 비트마스킹, BFS, 브루트포스 알고리즘

리뷰 3 * 3 도형을 반전시켜 모든 땅을 흰색으로 만드는 문제https://www.acmicpc.net/problem/10472 전역 변수tc, target : 테스트케이스의 개수tc, 각 테케마다 초기 도형의 비트 정보targetlst : 초기 맵 상태를 얻어올 문자열 배열, 3 * 3크기이므로 크기는 3이다.dx, dy : 비트 반전을 시킬 구간의 방향 배열, 상하좌우 및 제자리를 포함하여 총 5개이다.v : 비트마스킹 시 방문 여부를 저장할 배열 9개의 상태를 저장해야 하므로 2^9보다 크게 설정한다.Pos : 큐 내부에서 현재 비트정보와 변환 횟수를 저장하여 사용할 구조체 함수1. getTargetvoid getTarget() 테스트케이스에서 입력된 도형의 비트 정보를 target변수에 저장하기..

[S2] 백준 2961번 도영이가 만든 맛있는 음식 C++ 백트래킹

리뷰 조합할 수 있는 모든 음식의 조합을 탐색하여 신맛과 쓴맛의 차를 구하는 문제처음엔 모든 재료의 입력값이 10억 미만으로 봐서 어떻게 풀어야할지 정말 막막했다.모든 재료를 사용해서 요리를 만들었을 때 10억 미만인 점을 꼭 읽길 바란다 ㅠㅠhttps://www.acmicpc.net/problem/2961 전역 변수n, ans : 재료의 개수를 저장할 변수n, 정답을 저장할 변수 ans 10억 이상으로 초깃값을 세팅해 준다.v, ing1, ing2 : 방문 배열v, 신맛과 쓴맛 재료를 저장할 배열 ing1, ing2 모두 재료의 최대크기 10으로 크기를 세팅한다. 함수1. btvoid bt(int level, int val1, int val2) 백트래킹을 통해 완성된 음식의 쓴맛과 신맛의 차를 구하는 ..

728x90
반응형