[LeetCode] 70. Climbing Stairs
·
코딩테스트
leetcode.com/problems/climbing-stairs/ Climbing Stairs - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 재귀함수 연습하기! 계단을 오를 수 있는 경우의 수 return 한번에 1개 혹은 2개의 계단을 오를 수 있다. 1
[Python] 비트 쉬프트 연산 <<, >>
·
Python
정수 1개를 입력받아 2배 곱해 출력해보자.a = int(input())print(a 정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 >를 이용할 수 있다.컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에,2진수 형태로 저장되어 있는 값들을 왼쪽(>)으로지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어드는데,왼쪽 비트시프트(오른쪽 비트시프트(>>)가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고,가장 오른쪽에 있는 1비트는 사라진다.예시n = 10print(n>1)  #10을 반으로 나눈 값인 5 가 출력된다.print(n>2)  #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.정수 10의 2진수 표현은 .....
[Python] 실수 소수점 이하 반올림해서 출력하기
·
Python
1. 소수점 이하 두 번째 자리까지 출력실수 1개를 입력받아 소수점 이하 두 번째 자리까지의 정확도로 반올림한 값을 출력해 보자.a = float(input())print(format(a, ".2f")) format(수, ". 2f")를 사용하면 원하는 자리까지의 정확도로 반올림된 실수 값을 만들어 준다. 해당 수를 소수점 아래 3번째 자리에서 반올림해서 소수점 이하 2번째 자리까지만 표시하라는 뜻컴퓨터 프로그래밍에서 실수 변환이나 실수를 사용하는 계산은정확하게 변환되거나 계산되는 것이 아니라, 거의 모두 근삿값으로 계산되는 것이라고 할 수 있다. 실수가 컴퓨터로 저장되기 위해서는 디지털방식으로 2진 정수화되어 저장되어야 하는데,그 과정에서 아주 작은 부분이 저장되지 않고 사라지는 잘림(truncatio..
[Programmers] [1차] 추석 트래픽
·
코딩테스트
programmers.co.kr/learn/courses/30/lessons/17676
[Python] 문자열 포맷 코드, 포맷팅 예시
·
Python
문자열 포맷 코드코드설명%s문자열 (String)%c문자 1개 (Character)%d정수 (Integer)%f부동소수 (Floating-point)%o8진수%x16진수%%문자 % 자체 포맷팅 예)1. 숫자 바로 대입>>> "I eat %d apples." % 3 'I eat 3 apples.'문자열 안에서 숫자를 넣고 싶은 자리에 %d 문자를 넣어 주고, 삽입할 숫자 3은 가장 뒤에 있는 % 문자 다음에 써 넣었다. 여기에서 %d는 문자열 포맷 코드라고 부른다. 2. 문자열 바로 대입>>> "I eat %s apples." % "five" 'I eat five apples.'위 예제에서는 문자열 안에 또 다른 문자열을 삽입하기 위해 문자열 포맷 코드 %s를 썼다.※ 문자열을 대입할 때는 앞에서 배운 것..
[Programmers] 타겟 넘버
·
코딩테스트
programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 타겟 넘버 DFS로 푸는 것 까지는 이해를 했는데, 역시나 코드에서 막힌다. 배열에서 요소 하나를 꺼내서 작업할때마다 더하거나, 빼거나 두개의 경우의 수가 생기고 depth는 배열의 length만큼 진행되는 탐색방법을 사용해야겠다고 생각했다. 가장 깊은 마지막 depth에서 즉, number.length = 1일 때 이 값..
DFS (Depth-First Search) : 깊이 우선 탐색
·
코딩테스트/자료구조∕알고리즘
DFS (Depth-First Search) DFS는 깊이 우선 탐색이라고도 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. DFS는 스택 자료구조 혹은 재귀함수를 이용하며, 구체적으로 다음과 같이 동작한다. 탐색 시작 노드를 스택에 삽입하고, 방문 처리한다. 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고, 방문 처리한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다. 더 이상 2번의 과정을 수행할 수 없을 때까지 반복한다. Java import java.util.*; public class test { //변수 생성 public static boolean[] visited = new boolean[9]; public stat..
[JAVA] 스택 / 큐
·
JAVA
Stack 자료 구조 중 하나인 Stack의 사전적 정의는 '쌓다', '더미'입니다. 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료 구조라고 할 수 있습니다. Stack의 가장 큰 특징은 나중에 들어간 것이 먼저 나오는 (Last In First Out)의 형태를 띈다는 것입니다. 이 방식을 가진 자료구조인 Stack을 활용하여 다양한 문제를 해결할 수 있습니다. 자바에서 Stack은 java.util.Stack을 import하면 바로 사용할 수 있습니다. 1. 먼저 들어간 자료가 나중에 나옴 LIFO(Last In First Out) 구조 2. 시스템 해킹에서 버퍼오버플로우 취약점을 이용한 공격을 할 때 스택 메모리의 영역에서 함 3. 인터럽트처리, 수식의 계산, 서브루틴의 복귀 번지 저장 등에 쓰임..
[Python] 스택 / 큐
·
Python
스택(Stack) 구현 리스트 자료형 이용 append() : 가장 오른쪽에 원소를 삽입 pop() : 가장 오른쪽의 원소를 꺼냄 append(), pop() 의 시간 복잡도 : 상수시간 O(1) 으로, 스택 자료구조를 사용하기에 적합 # 리스트 자료형 선언 stack = [] # 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제() stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop() stack.append(1) stack.append(4) stack.pop() print(stack[::-1]) # 최상단 원소부터 출력 print(stack) # 최하단 원소부터 출력 ..
[LeetCode] 1290. Convert Binary Number in a Linked List to Integer
·
코딩테스트
leetcode.com/problems/convert-binary-number-in-a-linked-list-to-integer/ Convert Binary Number in a Linked List to Integer - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 2진수 번호가 담겨있는 Linked List 10진수로 표현하기 Return the decimal value of the number in the linked list. static 변수 사용하지..