[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 변수 사용하지..
[JAVA] 비트 연산자 정리
·
JAVA
비트 연산자 비트 연산자는 말 그대로 비트 단위로 연산이 이루어지는 연산자이다. '암호화' 작업처럼 임의의 숫자를 만든다거나, 메모리 용량이 부족할 때, 계산이 복잡해서 속도가 느려질 때 비트 연산자를 이용해서 빠른 속도로 계산을 할 수 있다. 데이터는 컴퓨터 내부에서 0과 1로 이루어져 있기 때문에, 0 또는 1로 표현할 수 있는 최소단위인 비트로 계산할 때 속도가 빠른 것이라고 이해할 수 있다. 비트 (bit) : 0 또는 1로 표현할 수 있는 최소 단위, 8비트가 모이면 1 바이트(Byte)가 된다. 비트 논리 연산자 & | ^ ~ & (AND) 연산자 두 개의 비트값이 모두 1인 경우에만 연산 결과 값이 1이 된다. int num1 = 5; int num2 = 10; int result = num..
[Programmers] 더 맵게 - 힙(Heap) JAVA
·
코딩테스트
programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr K보다 작은 수들 중에서 가장 작은수와 그 다음 작은 수를 찾는것이 중요했던 문제. 우선순위 큐를 이용하면 쉽게 풀 수 있었다. 우선순위 큐는 별다른 지정이 없다면, 큐에 들어온 값을 오름차순으로 정렬해준다. 풀이 public class Scoville0402 { public static int solution(int[] scoville, int K) { // 기..