[Python]  백준 P5622번 다이얼 풀이
Python/Baeckjoon2021. 11. 30. 00:55[Python] 백준 P5622번 다이얼 풀이

1. 문제 : https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 2. 문제 풀이 (1) 야나의 첫 번째 풀이 : """ 문제명:다이얼 문제 접근 : 1) 단어를 입력 받음 : 각 알파벳을 하나의 리스트에 입력받기 2) for문을 통해 리스트 안의 문자를 해당되는 숫자로 변환, result값에 더하기 """ #입력 : 각 알파벳을 리스트로 입력받기 word = list(input()) result = 0 #결과값을 저장받을 result값 생성 for alphabet in word: if alphabet in "ABC": result..

[Python] 백준 P2908번 상수
Python/Baeckjoon2021. 11. 29. 23:25[Python] 백준 P2908번 상수

1. 문제 : https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 2. 문제 풀이 (1) 야나의 첫 번째 풀이 : """ 문제명 : 상수(브2) 문제 접근 : 세자리 수 2개가 띄어쓰기로 구분되어 입력값으로 주어진다.(총 입력될 자릿수는 7자리) 리스트로 입력을 받은 뒤, 리스트 뒤집기(reverse) 맨앞 3개와 맨 뒤 3개를 슬라이싱 한 값을 각각 join, int로 정수화하여 numA,B에 저장 numA와 numB 크기 비교하여 더 큰 값 반환하기. ""..

[Python] P1152 단어의 개수 파이썬 풀이 int().split()
Python/Baeckjoon2021. 11. 29. 22:32[Python] P1152 단어의 개수 파이썬 풀이 int().split()

1. 문제 : https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 2. 문제 풀이 (1) 야나의 첫 번째 문제 풀이 """ 문제 접근 : 단어는 한 칸 짜리 빈칸으로 구분된다. 단어의 앞 뒤에는 공백이 올 수 있다-> 공백 갯수를 통해 유추하려 하면 공백만 입력 되었을 때 외 여러 변수가 있다. 따라서 입력시에 아예 단어만 리스트로 받으면 공백은 결과값 추출에 영향을 주지 않는다. """ # 입력 centence = input().split(..

Python2021. 11. 29. 22:25[Python] 입력 값 받는 방법

1. input 함수 2. 정수로 받기 : int(input()) 3. " "로 구분된 여러개의 문자 입력값을 리스트로 받기 : list(input().split()) 4. " "로 구분된 여러개의 숫자 입력값 받기 : map(int,input().split()) 5. " "로 구분된 여러개의 숫자 입력값을 리스트로 받기 : list(map(int,input().split()) 6. for문을 통해 엔터로 구분된 여러개의 문자입력값을 리스트로 받기 : for i in rang(문자 갯수) : list.append(input()) 7. for문을 통해 엔터로 구분된 여러개의 숫자입력값을 리스트로 받기 : for i in rang(숫자 갯수) : list.append(int(input()))

Python/Baeckjoon2021. 11. 25. 00:57[문제 분류] 문제 분류표

LL : 리스트 ST : stack 스택 Q : queue DQ : dequeue Heap : 이진트리 일종, 우선순위 큐를 위해 만들어진 알고리즘 HQ : heap & queue 힙큐 알고리즘 TR : tree GP : Graph BS : binary search 이진 탐색 TS : ternary search 삼분 탐색 sort : 정렬 BF : Brute Force 완전탐색 알고리즘 BF(BFS) : Breadth-first search 너비 우선 탐색 DF(DFS) : Depth-First Secrch 깊이 우선 탐색 DP : dynamic programing 동적 계획법 D/C : Divide and conquer 분할 정복 M : math GD : Gradient Descent 경사 하강법

[Python] M P4673 셀프 넘버(set,sorted)
Python/Baeckjoon2021. 11. 25. 00:08[Python] M P4673 셀프 넘버(set,sorted)

1. 문제 : https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 2. 풀기 전 사고 (1) 함수 먼저 정의하기 (2) d(n)은 누군가[d(d(n)]의 생성자 (3) 전체 집합에서 d(n)의 모든 경우의수를 빼면 셀프 넘버 3. 문제 풀이 (1) 야나의 첫 번째 풀이 def d(n): #생성자를 만드는 함수 x=0 y=list(str(n)) #입력된 n값을 텍스트로 변환하여 리스트화 for i i..

[Python] STR P10809 알파벳 찾기
Python/Baeckjoon2021. 11. 24. 22:39[Python] STR P10809 알파벳 찾기

1. 문제 : https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 2. 풀이 (1) 야나의 첫 번째 풀이 S=input() #단어 입력받기 from string import ascii_lowercase #알파벳 소문자 임포트 alphabet_list=list(ascii_lowercase) #리스트화 for i in alphabet_list: #알파벳 하나씩 꺼내서 대조(답안이 알파벳 순서에 대응) print(S.find(i),end="..

[Python] BS P2869 달팽이는 올라가고 싶다
Python/Baeckjoon2021. 11. 24. 22:00[Python] BS P2869 달팽이는 올라가고 싶다

1. 문제 : https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 2. 풀이 (1) 야나의 첫 번째 풀이 A,B,V=map(int,input().split()) day=0 #정상에 도달하면 미끄러지지 않는 조건 하에, 정상에 도달하는 순간은 항상 '낮'이다 #따라서 우리는 몇번의 '낮 밤 모두 오른 날'들 이후에 정상에 도착하는지 #'낮과 밤 모두 오른 날'에 만약 그 다음 날에도 올랐다면 하루를 더해주면 된다. #낮밤을 모두 올랐다면 정상에 도달 후 미끄러진 거리인 V-B만큼 이동하였을 것이다. #따라서..

[Python] LL P1158 요세푸스 문제
Python/Baeckjoon2021. 11. 24. 22:00[Python] LL P1158 요세푸스 문제

1. 문제 : https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 2. 문제 풀이 (1) 야나의 첫 번째 문제 풀이 N,K = map(int,input().split()) #스페이스로 구분된 두 수 입력받아 정수형 변환 josephus = [i for i in range(1,N+1)] popNo = K-1 #popNo번째 자리 수를 pop할 예정임으로 K번째 수를 컴퓨터 자릿수에 맞게 변환반영 result = [] #추출할 값을 받아낼 빈 리스트 생성 while len(josephus) : #josephus 리스트에 남아있는 수가 있는동안..

[CS] 자료구조란? 알고리즘이란?
CS/CS2021. 11. 18. 17:21[CS] 자료구조란? 알고리즘이란?

1. 알고리즘과 자료구조의 관계 자료 구조(Data structure) : 자료를 처리하는 방법 알고리즘(Algorithm) : 문제를 처리하는 절차(입력을 받아 원하는 값으로 출력하는 절차) 1) 알고리즘 : 문제 해결을 위한 처리 절차. - 문제와 컴퓨터가 주어진 상태에서 문제를 해결하는 방법을 정밀하게 장치가 이해 할 수 있는 언어로 기술 한 것. - 0개 이상의 입력, 1개 이상의 출력이 존재 - 명백성 : 각 명령어의 의미는 모호하지 않고 명확해야 함. - 유한성 : 한정된 수의 단계 후에는 반드시 종료되어야 함. - 유효선 : 각 명령어들은 실행 가능함 연산이어야 함. 2) 자료구조 : 데이터를 저장하거나 조직하는 방법. - 데이터로의 접근과 변경을 편리하게 하기 위함. - 자료구조는 언어별로..

[CS] 절차지향 vs 객체지향
CS/CS2021. 11. 18. 17:05[CS] 절차지향 vs 객체지향

1. 프로그래밍 언어 종류 절차지향 언어(C언어) 객체지향 언어(JAVA, C++, C#,Python, 시뮬라67, 비주얼 베이직 닷넷..,) 1) 절차지향 언어(Procedural Programing) - 개체를 순차적으로 처리(컴퓨터의 처리구조와 유사) - 프로그램 전체가 유기적으로 연결되어있어야 함. - 장점 : 실행 속도가 빠름. - 단점 : 유지보수 어려움(부분 고장시 전체 고장), 비효율적 - 실행 순서가 정해져 있기에, 코드의 순서가 바뀌면 결과가 달라질 가능성 多 2) 객체 지향 언어(Object-criented Language) cf) 객체 : 사물, 사람, 추상적인 개념이 될 수도 있는 '무언가' - 프로그램을 다수의 객체로 만들고, 서로 상호작용 하도록 만드는 언어.(캡슐화, 상속, ..

[CS] 함수 호출 방법 Call by value vs Call by reference
CS/CS2021. 11. 18. 16:50[CS] 함수 호출 방법 Call by value vs Call by reference

1. 함수의 호출 방법 값에 의한 호출(call by value) 참조에 의한 호출(call by reference) 1) Call by value(값에 의한 호출) : 인자로 받은 값을 복사하여 처리. - 인자로 받은 값에 직접적인 영향을 주지 않는다. - 단점 : 복사를 하기 때문에, 메모리 양이 늘어난다. (과부하의 원인) - 장점 : 복사를 하기 때문에, 원래 값은 영향을 받지 않아 안전하다. 2) Call by referencr(참조에 의한 호출) : 인자로 받은 값의 주소를 참조하여 처리. - 인자로 받은 값에 직접적인 영향을 준다. - 장점 : 복사를 하지 않고 직접 참조하기에, 빠르다. - 단점 : 직접 참조를 하기에 원래 값이 영향을 받아, 리스크가 있다. 3) Call by assign..

image