본문 바로가기

전체 글

(19)
[Swift] String 관련 메서드 정리 hasPrefix 지정된 접두어로 시작하는지 확인하고, Bool값을 반환한다. let hello = "Hello" print(hello.hasPrefix("He")) // 출력 : true hasSuffix 지정된 접미어로 끝나는지 확인하고, Bool값을 반환한다. let hello = "Hello" print(hello.hasSuffix("lo")) // 출력 : true uppercased 모든 문자를 대문자로 바꾼 문자열을 반환한다. let hello = "Hello" print(hello.uppercased()) // 출력 : HELLO lowercased 모든 문자를 소문자로 바꾼 문자열을 반환한다. let hello = "Hello" print(hello.lowercased()) // 출력 :..
[Swift] 튜플 (Tuple) 알아보기 튜플 (Tuple) 튜플이란 "데이터의 묶음"이다. 타입에 따로 구애받지 않기 때문에 여러가지의 타입의 데이터를 묶어서 관리할 떄 사용된다. 다음 코드처럼 타입을 미리 정해서 사용할 수도 있고, var person : (String, Int, Double) = ("Suzzang", 26, 164.9) 다음 코드처럼 타입을 따로 정하지 않고 사용할 수도 있다. var person = ("Suzzang", 26, 164.9) 이때 튜플은 타입 추론에 의해서 컴파일러가 할당된 값을 기준으로 타입을 결정한다. 옵션을 누르고 튜플의 이름을 눌러보면 다음과 같이 자료형이 정해져 있는 것을 볼 수 있다. 튜플의 각 요소는 다음과 같이 튜플의 인덱스 값을 통해서 접근할 수 있다. var person : (String,..
[Swift] Map 알아보기 Map 자기 자신을 호출할 때 매개변수로 전달된 함수를 실행하여 결과를 반환하는 함수로, Sequence, Collection 프로토콜을 따르는 타입과 옵셔널은 모두 맵을 사용할 수 있다. let numbers : [Int] = [0, 1, 2, 3, 4] var squareNumber = numbers.map({(number : Int) -> Int in return number * number}) print(squareNubmer) //[0, 1, 4, 9, 16]for-in 구문으로 사용할 수 있지만, 그렇게 되면 시간복잡도나 코드의 깔끔함 부분에서 차이를 보이기 때문에 간결하게 쓰기 좋다. 클로저의 사용 클로저 표현으로 map을 더 쉽게 활용할 수 있다. let numbers : [Int] = [..
[python] 백준 1244번 : 스위치 켜고 끄기 스위치 번호스위치 상태 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 0 1 0 1 0 0 0 1 예를 들어 에서 여학생이 3을 받았다면, 3번 스위치를 중심으로 2번, 4번 스위치의 상태가 같고 1번, 5번 스위치의 상태가 같으므로, 과 같이 1번부터 5번까지 스위치의 상태를 모두 바꾼다. 만약 에서 여학생이 4를 받았다면, 3번, 5번 스위치의 상태가 서로 다르므로 4번 스위치의 상태만 바꾼다. 스위치 번호스위치 상태 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 0 1 1 1 0 1 0 1 스위치 번호스위치 상태 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 1 0 0 0 1 1 0 1 입력으로 스위치들의 처음 상태가 주어지고, 각 학생의 성별과 받은 수가 주어진다. 학생들은 입력되는 순서대로 자기의 성별과 받은 수에 따라 스위치의 상태를 바꾸었을 때..
[python] 백준 1003 : 피보나치 함수 import sys n=int(sys.stdin.readline()) for k in range(n): num=int(sys.stdin.readline()) list0=[1, 0] list1=[0, 1] if num >1: for i in range(num-1): list0.append(list0[i]+list0[i+1]) list1.append(list1[i]+list1[i+1]) print(list0[num],list1[num]) 2022.05.08
[python] 백준 1002번 : 터렛 import sys import math num=int(sys.stdin.readline()) for num in range(num): x1, y1, r1, x2, y2, r2=map(int, sys.stdin.readline().split()) d=math.sqrt((x2-x1)**2+(y2-y1)**2) if x1==x2 and y2==y1: if r1==r2: print(-1) else: print(0) else: if (d==r1+r2 or d==abs(r1-r2)): print(1) elif(dabs(r1-r2)): print(2) else: print(0) 2022.05.08에 푼 문제..
[python] 백준 1004번 : 어린 왕자 2022.05.08에 푼 것 import sys import math T=int(sys.stdin.readline()) #test 횟수 for i in range(T): x1, y1, x2, y2=map(int, sys.stdin.readline().split()) n=int(sys.stdin.readline())#n=행성의 개수 cnt=0#count 변수 초기화 for k in range(n): cx,cy,r=map(int, sys.stdin.readline().split()) d1=math.sqrt((cx-x1)**2+(cy-y1)**2) d2=math.sqrt((cx-x2)**2+(cy-y2)**2) if (d1r) or (d2r): cnt=cnt+1 print(cnt) 뭐.. 이건 어렵진 않은 문..
[python] 백준 1007번 : 벡터 매칭 2022.05.24.에 푼 것 일단 이 문제도 그렇게 어려운 편은 아니었다. 하지만 고등학교 이후 벡터를 넘 오랜만에 봐서 그런지^^ 벡터 계산에 살짝 헤맸다.ㅎ.ㅎ 약간 바보인줄 알았닿ㅎㅋ import sys import math from itertools import combinations sys.stdin=open("num1007input.txt") T=int(sys.stdin.readline()) for _ in range(T): N=int(sys.stdin.readline()) aPoints=[] bPoints=[] rules=[] for _ in range(N): a,b=map(int,sys.stdin.readline().split()) aPoints.append(a) bPoints.appen..