이번 시간에는 숫자와 문자가 어떻게 표기되는가에 대해서 알아보고자 한다. 숫자 우선 지난 시간에 배웠던대로 Package와 Class를 생성해주자. package : org.opentutorials.javatutorials.numberstring class : Number 그 다음, 기본적인 숫자의 연산과 출력을 해 보자 package org.opentutorials.javatutorials.numberstring; public class CharString { public static void main(String[] args) { System.out.println(1+2); } } [Out] 3 주어진 System.out.println( *** ); 에서 괄호 안의 값을 실행하여 그 결과를 콘솔에 출..
데이터 정제를 하다보면 중첩된 리스트를 만날 때가 종종 있다. 항상 꾸역꾸역 처리하긴 했는데, 까먹고 까먹어서 아예 포스팅에 남겨두기로 했다. 자, 오늘 실습을 도와줄 친구는 nested 라는 친구다 ! 친구를 소개하겠다. nested # Out [[1, 3], [1, 2], [3, 2], [1, 3], [2, 1], [2, 3], [1, 3], [1, 2], [3, 2], [3, 1], ...] 원래는 더 길다란 녀석이지만 편의를 위해서 짤라버렸다. 싹둑 자 이제 처리하는 방법을 알아보자. 처리 방법은 두 가지를 소개하려고 한다. 첫 번째, 이중 리스트의 값을 단일 원소로써 하나~~~씩 모두 출력하는 방법 두 번째, 이중 리스트의 값에서 안쪽 리스트에 있는 값 ( 예를 들면, [1, 3] , [1, 2..
접근법 문제가 너무 신박해서 재밌게 풀었다. 복잡해 보이는 문제지만 자세히 살펴보면, 우선 두 개의 좌표가 주어진다. 이 좌표로 부터 특정 점 (마린 a.k.a 류재명) 까지의 거리를 계산했을 때, 마린이 있을 수 있는 좌표를 찾으라고 되어있다. 따라서 하나의 터렛으로 부터 측정한 거리는 원으로 나타낼 수 있고, 마찬가지로 또 다른 터렛에서 측정한 거리를 원으로 나타낼 수 있다. 그랬을 때, 마린이 위치할 수 있는 경우의 수는 두 원의 접점의 수를 계산하면 되는 것이다. 두 원 사이의 관계는 아래의 그림을 통해 확인하자. 풀이 import math case = int(input()) for i in range(case): x1,y1,r1,x2,y2,r2 = map(int,input().split(' ')..
접근법 택시 기하학이라는 말은 처음 들어봤는데, 문제를 차근차근 읽어보니 반지름의 길이가 같아도 유클리드 기하학에서의 원과 택시 기하학에서의 원의 형태가 틀리다. 반지름이 r인 원과 한 변의 길이가 r인 마름모의 넓이를 출력하면 된다. 풀이 import math a = int(input()) v1 = a * a * math.pi v2 = (a * 2) * (a * 2) / 2 print("%.6f" % v1) print("%.6f" % v2) @ 문제 출처 : 백준
접근법 처음에는 약간 의심을 품었으나, 모두가 생각하는 그것이다. 피타고라스! 코드는 먼저 빗변을 찾기 위해서 input으로 가져온 값을 정렬했고, 모두 0이 들어온 경우에 입력을 멈출 수 있도록 break를 걸어주었다. 그 다음은 피타고라스의 정의를 통해 출력을 할 수 있도록 해주었다. 풀이 while True: a, b, c = sorted(map(int,input().split(' '))) if sum([a,b,c]) == 0: break print('right' if a**2 + b**2 == c**2 else 'wrong') 문제 출처: 백준
접근법 직사각형의 정의에 대해서 한번 고민해보면 쉽게 해결할 수 있는 문제다. 직사각형은 두 쌍의 마주 보는 변이 서로 평행이고, 그 길이가 같다. 또한 네 각이 모두 90도로 동일하다. 따라서 x좌표든 y좌표든 모두 두 번씩 등장해야 한다. 아래의 그림을 참조하자. 문제에서 주어지는 x와 y좌표를 리스트에 담아두고, 단 한번만 등장한 좌표를 출력하는 형태로 코드를 만들어보았다. 풀이 X = list() Y = list() for _ in range(3): x,y = map(int,input().split(' ')) X.append(x) Y.append(y) for i in X: if X.count(int(i)) == 1: new_x = int(i) for i in Y: if Y.count(int(i))..