[백준 1417번 문제, 파이썬3] 국회의원 선거
·
정리 전 게시글/공부 관련
문제 문제 다솜이는 사람의 마음을 읽을 수 있는 기계를 가지고 있다. 다솜이는 이 기계를 이용해서 2008년 4월 9일 국회의원 선거를 조작하려고 한다. 다솜이의 기계는 각 사람들이 누구를 찍을 지 미리 읽을 수 있다. 어떤 사람이 누구를 찍을 지 정했으면, 반드시 선거때 그 사람을 찍는다. 현재 형택구에 나온 국회의원 후보는 N명이다. 다솜이는 이 기계를 이용해서 그 마을의 주민 M명의 마음을 모두 읽었다. 다솜이는 기호 1번이다. 다솜이는 사람들의 마음을 읽어서 자신을 찍지 않으려는 사람을 돈으로 매수해서 국회의원에 당선이 되게 하려고 한다. 다른 모든 사람의 득표수 보다 많은 득표수를 가질 때, 그 사람이 국회의원에 당선된다. 예를 들어서, 마음을 읽은 결과 기호 1번이 5표, 기호 2번이 7표, ..
운영체제 - 식사하는 철학자 문제와 교착상태에 대해 알아보기
·
정리 전 게시글/공부 관련
식사하는 철학자 문제 (Dining Philosophers Problem) 운영체제 수업 시간에 식사하는 철학자 문제와 교착상태를 배우게 되었다. 교착상태는 티비에서도 가끔 나오고 그래서 대충 알고 있었는데 이번에 제대로 알게되었다. 식사하는 철학자 문제는 1965년 네덜란드의 대학교에서 병렬처리에서의 동기화 이슈와 해결 방법을 설명하려고 학생들에게 냈던 시험 문제라고 한다. 1. 5명의 철학자가 원탁에서 식사를 하려고 자리에 앉았있다. 2. 각각의 철학자들 앞에는 스파게티가 1접식씩 있고 철학자들 사이에 포크가 하나씩 있다. 즉 포크는 5개 3. 각 철학자는 옆의 철학자에게 말을 할 수 없으며, 두 가지 행동을 한다. 스파게티를 먹거나 생각하거나 4. 철학자는 식사를 하기 위해서 자신의 양옆에 있는 2..
캡스톤 디자인 앱 만들기 My Walking Pet #1
·
정리 전 게시글/공부 관련
이번주는 걸으면 성장치가 제대로 오르지 않던 버그를 고쳤고 걸음 통계에서 한 달과 달력 보기를 추가했다. 우선 걷게 되면 걸음 계수기 센서로부터 걸음 수를 측정받아 저장소에 저장하고 현재 동물 수치에 비례하는 성장치가 증가하게 되는데 맨 왼쪽에 성장치가 증가하게 된다. 캔버스를 이용한 커스텀 뷰로 성장치 그래프를 만들었는데 이전에는 걷게 되면 거꾸로 증가하거나 아애 오르지 않는 버그가 있었지만 해결했다. 저번에 만들었던 일주일 평균에 이어서 한달평균 그래프 보기를 만들었다. 그래프를 클릭하면 해당 데이터를 표시한다. 좀 더 그래픽 적으로 나타낼 수 있으면 좋을텐데 다이얼로그 뷰를 좀 더 예쁘게 나타내는 방법을 고민해봐야겠다.. 그리고 원래 있던 1년 통계를 없애고 달력을 추가했는데 1년 통계를 없앤 이유..
비즈니스 빅데이터 분석 공모전 일지 #0
·
정리 전 게시글/공부 관련
학교에 비즈니스 아이디어 공모전 포스터가 붙여져있길래 동아리에서 친구들과 참가하기로했다! 공모전 부분이 3개가 있었는데 우리는 빅데이터 분석 부문에서 우리가 할 수 있는 것을 찾아보기로 했는데 분석 과제는 총 5개 그 중에서 국가별 유망품목 추천모델(로직) 개발을 해보기로 했다.. 3명이서 한 팀이 되어 참가하는데 예전에 빅데이터 공부를 조금 했지만 아직 공부할 것이 정말 많기 때문에 국가별 유망품목과 HS 코드와 같은 용어들을 공부하고 어떻게 모델을 만들면 좋을지 생각해봤다. 그리고 어떠한 모델을 사용해서 분석할 수 있을지 찾아보려고 했는데 일단 우리 만능 GPT에게 물어보니 국가별 상황을 고려해서 의사 결정 트리와 같은 방법을 해보라고 하던데 오늘 인공지능 시간에서 머신러닝에 대해 잠깐 배웠는데 출력..
[백준 10989번 문제, 파이썬3] 수 정렬하기 3
·
정리 전 게시글/공부 관련
문제 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 코드 import sys arr = [0] * 10001 count = int(sys.stdin.readline()) for i in range(count): arr[int(sys.stdin.readline().rstrip())] += 1 for i in range(len(arr)): for j in range(arr[i]): print(i) 해결 배열에 들어가는 데..
[백준 1978번 문제, 파이썬3] 소수 찾기
·
정리 전 게시글/공부 관련
문제 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. 코드 count = int(input()) numbers = list(map(int, input().split())) answer = 0 for i in numbers: div_count = 0 for j in range(1, i+1): if i % j == 0: div_count += 1 if div_count == 2: answer += 1 print(answer) 해결 생각 참고 링크
[백준 10828번 문제, 파이썬3] 스택
·
정리 전 게시글/공부 관련
문제 문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,0..
[백준 2386번 문제, 파이썬3] 도비의 영어 공부
·
정리 전 게시글/공부 관련
문제 문제 꿍은 도비의 자유를 위해 영어를 가르치기로 결심했다. 하지만 도비는 바보라 ABC부터 배워야 한다. 그래서 꿍은 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었다. 하지만 도비는 마법사고 컴공도 마법사다. 여러분은 도비를 위해 문제의 답을 알려주는 프로그램을 만들수 있을것이다! 입력 입력은 몇 개의 줄들로 이루어진다. 각 줄에는 하나의 소문자와 영어 문장이 공백으로 구분되어 주어진다. 각 문장은 길이가 1에서 250이며 입력의 마지막은 #이다. 출력 출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다. 코드 import sys w..