mshun의 등록된 링크

 mshun로 등록된 티스토리 포스트 수는 16건입니다.

[백준/C] (G5) Swaps - 13214 [내부링크]

https://www.acmicpc.net/problem/13214 13214번: Swaps Sample Input 1 The 3 swap operations to transform [1,4,2,3] into [4,3,1,2] are: Swap 1, 4 Swap 2, 3 Swap 1, 3 Sample Input 2 The 4 swap operations to transform [3,6,4,7,1,2,5] into [4,3,7,6,1,5,2] are: Swap 2, 5 Swap 3, 6 Swap 4, 6 Swap 6, 7 www.acmicpc.net c문제 분석 두 개의 배열 A와 B가 있으며, 각각 1부터 N까지의 숫자를 포함하지만 반드시 이 순서대로는 아닙니다. 배열 A의 원소를 서로 바꾸는 연산을 통..

[백준/Python] (S1) 트리 순회 - 1991 [내부링크]

https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net c문제 분석 이 문제는 주어진 이진 트리에 대해 전위 순회(preorder), 중위 순회(inorder), 후위 순회(postorder)를 수행하여 결과를 출력하는 것입니다. c문제 풀이 preorder, inorder, postorder 함수는 각각 전위, 중위, 후위 순회를 수행하는 재귀 함수입니다. 이들은 주어진 노드가 '.' (즉, 없는 노드를 의미)가 아닐 때 해당 노드를 방문..

[백준/Python] (S2) A → B - 16953 [내부링크]

https://www.acmicpc.net/problem/16953 c문제 분석 이 문제는 주어진 정수 A를 B로 변환하는 데 필요한 최소 연산 횟수를 찾는 것입니다. 가능한 연산은 정수에 2를 곱한다, 정수의 가장 오른쪽에 1을 추가한다. 주어진 범위는 A

[백준/Python] (G3) 팰린드롬? - 10942 [내부링크]

https://www.acmicpc.net/problem/10942 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 코드 import sys input = sys.stdin.readline print = sys.stdout.write N = int(input()) Ns = list(map(int, input().split())) dp = [[0] * N for _ in range(N)] for i in range(N): dp[i][i] = 1 for i in range(N - 1): if Ns[i] == Ns[i + 1]: dp[i][i + 1] ..

[백준/Python] (G2) 선분 교차 2 - 17387 [내부링크]

https://www.acmicpc.net/problem/17387 코드 def ccw(ax, ay, bx, by, cx, cy): return (ax*by + bx*cy + cx*ay) - (bx*ay + cx*by + ax*cy) x1, y1, x2, y2 = map(int, input().split()) x3, y3, x4, y4 = map(int, input().split()) ccw123 = ccw(x1, y1, x2, y2, x3, y3) ccw124 = ccw(x1, y1, x2, y2, x4, y4) ccw341 = ccw(x3, y3, x4, y4, x1, y1) ccw342 = ccw(x3, y3, x4, y4, x2, y2) if ccw123 * ccw124 == 0 and ccw3..

[백준/Python,C] (G3) 선분 교차 1 - 17386 [내부링크]

https://www.acmicpc.net/problem/17386 17386번: 선분 교차 1 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. 세 점이 일직선 위에 있는 경우는 없다. www.acmicpc.net 코드 def ccw(ax, ay, bx, by, cx, cy): return (ax*by + bx*cy + cx*ay) - (bx*ay + cx*by + ax*cy) x1, y1, x2, y2 = map(int, input().split()) x3, y3, x4, y4 = map(int, input().split()) ccw123 = ccw(x1, y1, x2, y2, x3, y3) ccw124 = ccw(x1, ..

[백준/Python] (G2) 중앙값 구하기 - 2696 [내부링크]

https://www.acmicpc.net/problem/2696 2696번: 중앙값 구하기 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 수열의 크기 M(1 ≤ M ≤ 9999, M은 홀수)이 주어지고, 그 다음 줄부터 이 수열의 원소가 차례대로 주 www.acmicpc.net 코드 t = int(input()) for _ in range(t): m = int(input()) # 10개에 한줄씩 입력받기 lst = [] for _ in range((m-1)//10+1): lst.extend(map(int, input().split())) # 중앙값의 개수 출력하기 print(m//2+1) for j in range(0, m, 2): # 홀수..

[백준/Python] (G5) 전화번호 수수께끼 (Small) - 14369 [내부링크]

14370번: 전화번호 수수께끼 (Large) 첫 줄에 테스트케이스의 개수 T가 주어진다. 각 테스트케이스에는 상대방이 제시한 스트링 S가 주어진다. S는 영어 대문자로만 이루어져 있다. 1≤ T ≤ 100이고, S의 길이는 3 이상 2000 이하이다. www.acmicpc.net 코드 t = int(input()) for i in range(t): s = input() m = {'Z': 0, 'G': 8, 'X': 6, 'W': 2, 'U': 4, 'F': 5, 'H': 3, 'I': 9, 'V': 7, 'O': 1} c = {m[k]: s.count(k) for k in 'ZGXWUHFIVO'} c[3] -= c[8] c[5] -= c[4] c[7] -= c[5] c[9] -= c[5] + c[6]..

[백준/Python] (G4) 전화번호 수수께끼 (Large) - 14370 [내부링크]

14370번: 전화번호 수수께끼 (Large) 첫 줄에 테스트케이스의 개수 T가 주어진다. 각 테스트케이스에는 상대방이 제시한 스트링 S가 주어진다. S는 영어 대문자로만 이루어져 있다. 1≤ T ≤ 100이고, S의 길이는 3 이상 2000 이하이다. www.acmicpc.net 코드 t = int(input()) for i in range(t): s = input() m = {'Z': 0, 'G': 8, 'X': 6, 'W': 2, 'U': 4, 'F': 5, 'H': 3, 'I': 9, 'V': 7, 'O': 1} c = {m[k]: s.count(k) for k in 'ZGXWUHFIVO'} c[3] -= c[8] c[5] -= c[4] c[7] -= c[5] c[9] -= c[5] + c[6]..

[백준/Python] (S5) 재귀함수가 뭔가요? - 17478 [내부링크]

https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 코드 N = int(input()) def recursive(n): print("____"*n+"\"재귀함수가 뭔가요?\"") if N == n: print("____"*n+"\"재귀함수는 자기 자신을 호출하는 함수라네\"") else: print("____"*n+"\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.") print("____"*n+"마을 사람들..

[백준/Python] (G5) 암호 만들기 - 1759 [내부링크]

https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 코드 from itertools import combinations L, C = map(int, input().split()) alphabet = sorted(input().split()) for pw in combinations(alphabet, L): vowels = sum(c in 'aeiou' for c in pw) if 1

2022/01/20 - 4일차(마지막) [내부링크]

앱으로 원격 제어하기 앱 설치 링크 Bluetooth Electronics - Google Play 앱 당신의 안드로이드 장치가 Bluetooth를 사용하여 전자 프로젝트를 제어 할 수 있습니다. play.google.com 결과물

2022/01/19 - 3일차 [내부링크]

릴레이 릴레이는 전기로 작동시키는 스위치를 말한다. 낮은 전압을 이용해 높은 전합을 제어하는데 많이 사용한다. 릴레이 회로 전원 연결 커넥터 설치 -> 220V 전구 소켓 설치 -> 12V 팬 설치 -> 커넥터-소켓- 팬-2채널 릴레이 배선 연결 코드 // 릴레이 제어 #define fanPin A2 // 12V DC 팬 제어 릴레이 핀 번호 #define lampPin A3 // 220V AC 전등 제어 릴레이 핀 번호 void setup() { pinMode(fanPin, OUTPUT); pinMode(lampPin, OUTPUT); } void loop() { testRelay(); } void testRelay(){ //팬, 전등을 교대로 동작 테스트 digitalWrite(fanPin, HIGH..

2022/01/18 - 2일차 [내부링크]

RFID (RFID-RC522) - SPI 통신 RFID란 RFID(Radio Frequency IDentification)는 전파를 이용해 근거리에서 정보를 인식하는 기술이며 전자기 유도 방식으로 통신한다. 수동형(Passive) RFID는 리더에서 방출되는 전파를 전원으로 사용하여 자체적인 전원 없이 동작하고 인식거리는 비교적 짧다. 능동형(Active) RFID는 자체적인 전원을 사용하여 전파 출력이 크고 인식거리도 길다. 회로 연결 라이브러리 설치 아두이노> 툴> 라이브러리 관리> MFRC522 설치 소스 코드 #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid(SS_PIN, RST_PIN); // 클래스 인스턴스 MFRC522:..

제3회 SW융합 학생 해커톤 (2021.10.22~2021.10.23) [내부링크]

제작 동기 친구들과 함께 이번 해커톤에 참가하게 되었다. 라는 책을 함께 읽고 책 속에서 문제를 발견한 후 창의적인 해결 방안을 찾아야 했다. 그리고 그것을 피지컬 컴퓨팅으로 구현하는 것이 목표였다. 우리는 에서 쓰레기로 뒤덮인 섬에서 해양으로 배출되는 쓰레기의 심각성을 느끼고 이를 해결하기 위해 기존에 비해 보다 편리한 분리수거 쓰레기통을 활용하여 플라스틱 등의 쓰레기 재활용률을 높여 자연으로 유출되는 쓰레기의 양을 줄이는 방법을 선택했다. 설계 및 계획 웹캠을 통해 들고 있는 쓰레기를 인식하면, 그 쓰레기가 어떤 쓰레기인지 판단한 후 판단된 쓰레기에 따라 각각의 신호를 아두이노에 전달하고 소리파일을 재생한다. 그러면 아두이노는 그 신호에 따라 플라스틱, 캔, 종이, 인식 안됨을 파악하여 스텝 모터와 ..

2022/01/17 - 1일차 [내부링크]

개발 계획 시스템 기능 구성도 거리 센서를 사용해 차고 문을 제어하고, 온습도 센서를 사용해 환기팬을 제어하고 조도 센서로 전등을 제어한다. RFID를 사용해 도어락을 만든다. 그리고 아두이노를 모바일 APP과 블루투스로 연결해 모바일로 컨트롤할 수 있게 한다. 개발절차 1. 모듈별 기능 구현 2. 모듈 통합 3. 기능구현, 디버깅 1일차에는 부저, LED, 초음파 거리 센서, 온습도 센서 모듈의 기능을 구현했다. 아두이노 포트 구성 및 브레드보드 배선 능동 부저 & 자동점멸 LED 능동 부저는 미리 설계된 회로 때문에 음이 정해져 있고, 간단하게 0~5V 신호로 제어할 수 있다. 약 2KHz 대역의 소리를 출력하고 음계를 나타내기에는 어렵다. 신호음이나 경고음으로 많이 사용한다. 능동부저와 수동부저의 ..