Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩기초트레이닝
- 스파르타
- useState
- 네이버커넥트재단
- SEF2022
- python
- 22938번
- 개인정보수집유효기간
- ㅐㄱ이
- sql
- React
- MongoDB
- 파이썬무료강의
- 20492번
- css
- html
- 프로그래머스
- 참가후기
- 장고이미지처리
- GIT
- django multi image
- 장고 다중이미지
- 프로그래머스입문
- error
- 무료강의
- jquery
- 반응형
- 프론트엔드
- 스파르타코딩클럽
- 파이썬
Archives
- Today
- Total
코딩,해볼까
05.18. 팀원들과 알고리즘 풀이 / 백준 / 별찍기 윤년 고양이 백발백준 본문
0. 오늘 배운 것
0-1. 풀기로 정한 문제집
- 백준 왕초보
- 백준 별찍기
- 백준 삼성 SW 역량 테스트 기출 문제
0-2. 오늘의 문제
- 백준 2438번: 별 찍기 - 1 ⋆⁺₊⋆ https://www.acmicpc.net/problem/2438 ✔️
- 백준 2753번: 윤년 https://www.acmicpc.net/problem/2753 ❌
- 백준 10171번: 고양이 https://www.acmicpc.net/problem/10171 ✔️
- 백준 22938번: 백발백준하는 명사수 ̿̿ ̿̿ ̿’̿’̵͇̿̿з=༼ ▀̿̿Ĺ̯̿̿▀̿ ̿ ༽ https://www.acmicpc.net/problem/22938 ❌
1. 문제점
백준은 input값을 받아야하는데, 익숙하지가 않아서 문제를 풀 때 알고 있었음에도 실수를 했다.
map(int,input().split(' ’))
map(형변환 함수, 함수 내용, iterable한 값)
그리고 추가적으로 런타임 에러가 발생하는 것을 막아주는 함수를 알려주셨다.
import sys
input = sys.stdin.readline
2. 시행착오 및 해결방법
1. 별 찍기 - 1
input = sys.stdin.readline
for i in range(1, int(input())+1):
i = i*'*'
print(i)
# print("*"*i)
def solution(n):
if n <= 1:
return n
print("*" * solution(n - 1))
return n
# n == 5
# i = 5 , n = 5
# i = 4 , n = 4
# i = 3 , n = 3
# i = 2 , n = 2
# i = 1 , n = 1
# 재귀
# solution(int(input())+1)
# 반복문
# print("".join([f"{'*' * i}\n" for i in range(1, int(input()) + 1)]))
2. 윤년 : 조건이 여러가지라는 생각을 하지 못했다.
# 다시 풀어서 정답을 봤는데, ()괄호가 없으니 계속 실패했다.
y = int(input())
if y % 4 == 0 and (y % 400 == 0 or y % 100 != 0):
print(1)
else:
print(0)
# 한줄코딩
print(1 if(y % 4 == 0 and y % 100 != 0 or y % 400 == 0) else 0)
# 여집합으로 풀이
if y % 4 or (y % 100 == 0 and y % 400):
print(0)
else:
print(1)
3. 고양이
cat = '\\ /\\\n ) ( \')\n( / )\n \\(__)|'
print("""\ /\\
) ( ')
( / )
\(__)|
""")
4. 백발백준 : 문제 구상부터 실패하여 팀원분들의 힌트로 풀어보았다.
# 원 모양으로 생긴 두 과녁이 겹치는 부분이 존재하는지 확인하는 프로그램을 작성해보자.
# 점과 점으로 겹칠 때는 포함하지 않는다. **
X1, Y1, R1 = map(int,input().split(' '))
X2, Y2, R2 = map(int,input().split(' '))
d = ((X1 - X2)**2 + (Y1 - Y2)**2)**0.5
r = R1 + R2
if d >= r:
print('NO')
else:
print('YES')
- 우선 두 동그라미 간의 거리를 알아보기 위해 점과 점 사이의 거리를 알아본다.
- 두 원이 겹치기 위해서는 두 원의 반지름의 길이(r)를 더하여서 1번의 거리(d)와 비교했을 때, r이 더 작아야 한다.
- 비교했을 때 d가 r보다 크거나 같으면 NO를, 아니라면 YES를 출력하도록 한다.
# 한줄코딩
print("YES" if ((x1 - x2) ** 2) + ((y1 - y2) ** 2) < (r1+r2)**2 else "NO")
3. 알게된 점
재귀함수 맛보기
if 문에 and, or 사용하기
점과 점 사이 구하기 공식
제곱과 루트를 식으로 표현하는 방법 (**2, **0.5)
이스케이프 시퀸스와 (""" """)
팀원들과 함께할 알고리즘 레포지토리
..gitmessage.txt 로 전달
'Back > TIL' 카테고리의 다른 글
05.20 - 05.21 머신러닝 강의 정리 (0) | 2023.05.20 |
---|---|
05.19. 팀원들과 알고리즘 풀이 / 백준 / 별 찍기 강아지 세금 소수 찾기 (4) | 2023.05.19 |
05.13. [술술술_project. 6] MyPage Javascript 작업 (2) (0) | 2023.05.13 |
05.12. [술술술_project. 5] MyPage Javascrpit작업 (1) (0) | 2023.05.13 |
05.11. [술술술_project. 4] MyPage 작업 (2) (0) | 2023.05.11 |
Comments