목록전체 글 (188)
alpyrithm_알파이리즘
2557 Hello World www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 문제 풀기 전 공부할 것 : 입출력, 구현 「코딩을 배울 때 가장 배우는 것이 Hello World이다. Hello World를 출력할 때, 나는 새로운 세상을 접하는 느낌이었다.(사실 그냥 작동 원리 하나도 모르고 신기하기만 함) 코딩에서 가장 기초라고 할 수 있는 입력, 출력 문제이다. 파이썬으로 다양하게 출력을 표현해볼 생각이다.」 풀이 1 print('Hello World!') 풀이 2 sys를 import 해서 출력하기 import sys sys.stdout.write("Hello World!")
보호되어 있는 글입니다.
「인생에서 수학머리가 필요한 순간」 저자 : 임동규 | 출판사 : 토네이도 | 출간일 : 2019-07-31 친구들과 독서 모임을 만들기로 얘기한 후 처음으로 읽은 책이다. 친구들에게 책 제목을 공유했더니 나와 무척 잘 어울리는 책이라고 했다. 이 책을 읽게 된 계기는 수학은 항상 살면서 필요하다고 생각했기 때문이다. 또한 주위에 수학과 관련되지 않은 일이 없다고 생각하지만 막상 어디?!라고 하면 예시가 많이 생각나지 않기 때문에 이런 점을 보완할 수 있지 않을까 해서 읽게 되었다.(사실 그냥 수학을 좋아하고 내용이 재밌을 것 같아 읽은 것이 크다.) 개인적으로 이 책을 수학을 왜 배워야 하는지 의문을 갖는 학생들이나, 이런 학생들을 설득하고 싶은 선생님, 부모님이 읽으면 좋을 것 같다. 또한, 수학에 ..
10546 배부른 마라토너 www.acmicpc.net/problem/10546 10546번: 배부른 마라토너 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명 www.acmicpc.net 문제 풀기 전 공부할 것 : 자료 구조, 해쉬, 맵 풀이 for문으로 n번 돌면서 참가자의 이름을 dictionary 형태로 저장한다.(동명이인이 있을 수 있음) for문으로 n-1번 돌면서 완주한 사람의 value에 -1 한다. value가 1인 사람이 완주하지 못한 참가자이다. import sys input = sys.stdin.readline n = int(input()..
3986 좋은 단어 www.acmicpc.net/problem/3986 3986번: 좋은 단어 이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 www.acmicpc.net 문제 풀기 전 공부할 것 : 자료 구조, 스택 풀이 좋은 단어를 찾는 방법을 괄호가 바로 되어 있는지로 해석했다. 따라서 단어를 pop 하면서 하나씩 꺼내고 stk가 비어있으면 pop한 글자를 넣고 stk가 비어있지 않으면 stk의 마지막 단어와 비교하여 같으면 stk에서 그 글자를 빼고 아니면 stk에 글자를 넣는 방식으로 진행한다. stk에 글자가 들어있으면 좋은 단어가 아니다. import sys..
2910 빈도 정렬 www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫쨰 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 문제 풀기 전 공부할 것 : 구현, 자료 구조, 정렬, 맵 풀이 빈도와 몇 번째 등장하는지를 count에 dictionary로 저장한다. count의 key와 value를 저장하고 빈도, 먼저 나온 것으로 정렬한다. 그리고 해당 숫자가 나온 만큼 출력한다. n, c = map(int, input().split()) seq = list(map(int, input().split())) count = {} idx = 1 for s in s..
5568 카드 놓기 www.acmicpc.net/problem/5568 5568번: 카드 놓기 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net 문제 풀기 전 공부할 것 : 자료 구조, 브루트포스 알고리즘, 재귀, 맵 풀이 순열을 이용해서 해결할 수 있다. n개 중에서 k개를 뽑을 때, 순서에 따라서 다른 숫자를 만들 수 있으므로 순열을 이용해야 한다. 같은 숫자를 만들 경우를 대비해서 set을 이용한다. from itertools import permutations import sys input = sys.stdin.readline n, k = int(input()), int(input()) cards = [input().rstrip() fo..
12605 단어순서 뒤집기 www.acmicpc.net/problem/12605 12605번: 단어순서 뒤집기 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 www.acmicpc.net 문제 풀기 전 공부할 것 : 자료 구조, 스택 풀이 for문을 돌면서 몇 번째 케이스인지 i를 통해 확인한다. 단어들을 list로 받고 나중에 출력할 때 역순으로 출력한다. import sys input = sys.stdin.readline n = int(input()) for i in range(1, n+1): words = list(input().rstrip().split()) ..