728x90

전체 글

  • 이전
  • 1
  • 2
  • 3
  • 다음
Mathematics

x^5+x = 1

$x^5 + x=1$ Solve this equation perturbatively. Replace the equation by $ x^5 + \epsilon x=1 $ Take the series solution in ε to be $x = \Sigma_{n=0}^{\infty}a_n\epsilon^n$ Then the equation becomes $(a_0+a_1\epsilon+a_2\epsilon^2\cdots)^5 + \epsilon(a_0+a_1\epsilon+a_2\epsilon^2\cdots)=1$ When $\epsilon = 0\\ a_0 = 1$ For ε. $\begin{align}\epsilon &\Rightarrow \frac{5!}{4!}a_0^4a_1 + a_0 = 0\\&\..

React

라이프사이클 매서드

라이프사이클 메서드는 클래스 기반의 React 컴포넌트에서 사용할 수 있는 메서드로, 컴포넌트의 생명 주기 동안 특정 시점에 자동으로 실행되는 메서드이다. 대표적인 라이프사이클 메서드에는 다음과 같은 것들이 있다. Mounting: 컴포넌트가 DOM에 삽입되는 단계 constructor: 컴포넌트의 생성자 메서드로, 컴포넌트가 생성될 때 한 번만 호출된다. static getDerivedStateFromProps: props에 기반하여 state를 변경하려 할 때 사용하는 메서드이다. render: 컴포넌트를 렌더링하는 메서드다. JSX를 반환하며, 반드시 구현해야 하는 유일한 메서드이다. componentDidMount: 컴포넌트가 처음으로 렌더링된 후에 호출되는 메서드다. 주로 데이터 로딩, 이벤트 ..

React

React Hook

함수형 컴포넌트에서 상태 관리를 할 수 있게 해주며, 라이프사이클 메서드를 사용할 수 있게 준다. 이전에는 이런 기능들을 사용하기 위해 클래스 컴포넌트를 사용해야 했지만, Hook의 등장으로 함수형 컴포넌트에서도 가능하게 되었다. Hook은 이름이 'use'로 시작하는 함수들을 의미하며, 아래와 같은 특징을 가지고 있다. 1. useState Hook을 사용하면 함수형 컴포넌트에서 State를 가질 수 있다. 이를 통해 함수형 컴포넌트에서도 동적인 데이터를 다룰 수 있게 되었습니다. 2. useEffect Hook을 사용하면 함수형 컴포넌트에서 componentDidMount, componentDidUpdate, componentWillUnmount와 같은 라이프사이클 메서드의 역할을 수행할 수 있다. ..

백준

[백준] 2588번 자바

2588번: 곱셈 import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int b = in.nextInt(); String a = in.next(); int[] numbers = new int[a.length()]; for (int i = 0; i < a.length(); i++) { numbers[i] = Integer.parseInt(String.valueOf(a.charAt(a.length()-1-i))); } for (int i : numbers) { System.out.println(i * b); } System.out.println(b *..

Java

정수 리터럴을 작성할 때, 0으로 시작하는 경우

다음과 같은 코드가 있다고 하자. student.studentID = 0705;가 의문이었다. int값을 0으로 시작하면 어떻게 되는지 몰랐었다. package class; public class studenetClass { int studentID; String studentName; int grade; String address; public String getStudentName() { return studentName; } public void setStudentID (int studentID) { this.studentID = studentID; } public static void main(String[] args) { studenetClass student = new studenetClass..

Computer Science

비트연산을 위한 2진수 음수 구하기

컴퓨터에서 부호 있는 수를 표현하는 방법 중 부호 비트(Most Significant Bit ; MSB)라는 방법이 있다. 맨 앞에 양수는 0, 음수는 1을 추가하는 방식이다. 8 비트로 양수 5를 표현하면 다음과 같다. 00000101 8 비트로 음수 5를 표현하면 다음과 같다. 10000101 문제는 이 둘을 더하면 0이 되지 않고 10001010이 된다. 맨 앞이 MSB라고 한다면 이 값은 -10이다. 이를 해결하기 위해 컴퓨터에서 음수는 단순히 부호를 바꿔 표현하지 않고 ‘보수’라는 방법으로 표현한다. 예를들면, 10진법에서 어떤 미지의 수 x가 있을 때, 3에 대한 x의 보수는 x-3이 된다. 만일 x가 10이라면 3의 보수는 7이 되고, x가 26이라면 3의 보수는 23이 된다. 이제 이 개념..

백준

[백준] 5622번 파이썬

5622번: 다이얼 n = list(input().strip()) n_dic = { "A":3,"B":3,"C":3,"D":4,"E":4,"F":4,"G":5, "H":5,"I":5,"J":6,"K":6,"L":6,"M":7,"N":7, "O":7,"P":8,"Q":8,"R":8,"S":8,"T":9,"U":9, "V":9,"W":10,"X":10,"Y":10,"Z":10, } c = 0 for i in range(0, len(n)): if n[i] in n_dic: c += n_dic[f"{n[i]}"] print(c) 문제 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야..

백준

[백준] 3052번 파이썬

3052번: 나머지 import sys data = [] for i in range(10): data.append(int(sys.stdin.readline().strip())) rest = [] for i in data: rest.append(i % 42) rest = list(set(rest)) print(len(rest)) 문제 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1..

백준

[백준] 2908번 파이썬

2908번: 상수 a, b = map(str, input().split(" ")) A = int(str(a)[::-1]) B = int(str(b)[::-1]) if A > B: print(A) else: print(B) a, b = map(str, input().split(" ")) a_list = [] b_list = [] for i in range(0, 3): a_list.append(a[i]) b_list.append(b[i]) a_list.reverse() b_list.reverse() A = int(a_list[0])*100 + int(a_list[1])*10 + int(a_list[2]) B = int(b_list[0])*100 + int(b_list[1])*10 + int(b_list[2]..

백준

[백준] 1152번 파이썬

1152번: 단어의 개수 print(len(input().split())) data = input().split() print(len(data)) 문제 문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. https://www.acmicpc.net/problem/1152 1152..

백준

[백준] 10988번 파이썬

10988번: 팰린드롬인지 확인하기 import sys n = str(sys.stdin.readline().strip()) reversed_n = n[::-1] if n == reversed_n: print(1) else: print(0) 설명 회문(回文) 또는 팰린드롬(palindrome)은 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열(sequence of characters) 등이다. 보통 낱말 사이에 있는 띄어쓰기나 문장 부호는 무시한다. --위키피디아-- 문제 문제 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오. 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. level, noon은 팰린..

백준

[백준] 1157번 파이썬

1157번: 단어공부 import sys n = sys.stdin.readline().strip().upper() n_list = list(set(n)) data = [] if len(n_list) == 1: print(n) else: for i in range(0, len(n_list)): data.append([n_list[i], n.count(n_list[i])]) s_data = sorted(data, key=lambda count : count[1], reverse=True) if s_data[0][1] > s_data[1][1]: print(s_data[0][0]) elif s_data[0][1] == s_data[1][1]: print("?") from collections import Co..

백준

[백준] 2675번 파이썬

2675번: 문자열 반복 import sys t = int(sys.stdin.readline()) s = [] for i in range(t): s.append(list(map(str,sys.stdin.readline().split()))) for i in range(0, t): for j in range(0, len(s[i][1])): a = int(s[i][0]) * s[i][1][j] print(a, end='') print('') t = int(input()) for i in range(t): r, s = input().split() p = '' for i in s: p += int(r) * i print(p) 문제 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후..

백준

[백준] 25304번 파이썬

25304번: 영수증 import sys total = int(sys.stdin.readline()) n = int(sys.stdin.readline()) data = [] for i in range(n): data.append(list(map(int,sys.stdin.readline().split()))) sum = 0 for i in data: sum += i[0]*i[1] if sum == total: print("Yes") else: print("No") 문제 문제 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다. 영수증에 적힌, 구매한..

백준

[백준] 1546번 파이썬

1546번: 평균 import sys n = int(sys.stdin.readline()) data = list(map(int,sys.stdin.readline().split())) highest = max(data) new_data = [(i/highest*100) for i in data] print(sum(new_data)/len(new_data)) 문제 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위..

백준

[백준] 25314번 파이썬

25314번: 코딩은 체육과목 입니다 n = int(input()) a = n//4 print("long "*a, "int", sep="") 문제 문제 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ 책을 열심히 읽었던 혜아는 간단히 두 수를 더하는 코드를 칠판에 적었다. 코드를 본 면접관은 다음 질문을 했다. “만약, 입출력이 $N$바이트 크기의 정수라면 프로그램을 어떻게 구현해야 할까요?” 혜아는 책에 있는 정수 자료형과 관련된 내용을 기억해 냈다. 책에는 long int는 $4$바이트 정수까지 저장할 수 있는 정수 자료형이고 long long int는 $8..

Python

선형 검색 Linear Search

선형 검색 Linear search 시간 복잡도 : O(n), n은 데이터의 개수 선형 검색은 배열의 맨 앞부터 순서대로 원소를 스캔하는 방법이다. 원소가 정렬되지 않은 배열에서 검색을 할 때 사용하는 유일한 방법이다. 모든 원소를 앞에서부터 순차적으로 스캔하기 때문에 배열의 길이가 길면 시간복잡도도 증가하고 실제 실행 시간도 오래 걸린다. 다음과 같은 배열이 있다고 하자. a = [1,5,3,4,7,2,8,9,0] 특정 숫자의 위치를 선형 검색으로 찾는 코드 예시이다. a = [1,5,3,4,7,2,8,9,0] n = int(input()) def lin_search(seq, n): i = 0 while True: if i == len(seq): return f"{n}은 리스트에 없음" elif a[i..

백준

[백준] 10950번 파이썬

10950번: A+B - 3 n = int(input()) for _ in range(n): a, b = map(int, input().split()) print(a + b) 문제 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0

백준

[백준] 2480번 파이썬

2480번: 주사위 세개 import sys a, b, c = map(int, sys.stdin.readline().split()) if (a == b == c): print(10000+(a*1000)) elif (a == b) or (a == c): print(1000+(a*100)) elif (b == c): print(1000+(b*100)) elif (a!=b) and (b!=c) and (c!=a): print(100*max(a, b, c)) 문제 문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 ..

백준

[백준] 10820번 파이썬

10820번: 문자열 분석 while True: try: data = input() lower, upper, num, blank = 0, 0, 0, 0 for i in data: if i.isspace(): blank += 1 elif i.isdigit(): num += 1 elif i.islower(): lower += 1 elif i.isupper(): upper += 1 print(lower, upper, num, blank) except EOFError: break import sys while True: data = sys.stdin.readline().rstrip('\n') if not data: break lower, upper, num, blank = 0, 0, 0, 0 for i in d..

__name__
One In a Million
728x90