일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오블완
- pintos
- 시스템콜
- 스택
- 티스토리챌린지
- 나만무
- 자바
- defee
- Java
- userprog
- JavaScript
- 코드트리
- 자바스크립트
- Vue.js
- 백준
- 모션비트
- 큐
- 핀토스
- 알고리즘
- 리액트
- 소켓
- 크래프톤정글
- Flutter
- CSS
- 크래프톤 정글
- 4기
- HTML
- 사이드프로젝트
- TiL
- corou
- Today
- Total
미새문지
크래프톤 정글 week01, day05 - 알고리즘 학습 본문
미니프로젝트가 끝나고 오늘부터 알고리즘 이론 학습 및 정글에서 선정해준 코테 문제를 풀기 시작했다.
파이썬은 문법들이 간결하게 나와있어 처음 코딩을 접하는 사람들에겐 좋을 것 같아 열심히 학습 중이다. 하지만 정글의 다른 동기들의 말을 들어보면 기존에 사용하던 언어가 습관이 되어 파이썬의 문법과 헷갈려서 작성하기 까다롭다고 하더라
오늘 푼 문제를 전부 올리는건 너무 길어질 것 같고 어려웠거나 헷갈렸던 문제들만 작성하려고 한다.
1. 백준 2739번 구구단
gugu = int(input())
for i in range(1, 10):
print(gugu, "*", i, "=", gugu*i)
입력받는 n값의 구구단을 출력하는 문제여서 생각보다 쉬운 문제였지만 출력할 때의 문법이 기존의 언어들과 달라 몇번 틀렸었다.
나름 자바스크립트를 독학하며 학습했기에 변수값 + 문자열 출력에서 보통
console.log(gugu + "*" + i + "=" + gugu*i);
이런식으로 작성을 했는데 계속 + 부분에서 에러가 나는데도 기존의 방식을 생각하며 왜 틀렸는지 이해를 못했었다. 파이썬은 + 대신에 ,를 사용하며 완성된 코드를 보면 +보다 간결해서 괜찮은 것 같다.
2. 백준 2562번 최댓값
num = []
compare = []
max = 0
location = 0
for i in range(9):
num.append(int(input()))
compare.append(num[i])
compare.sort()
max = compare[len(compare)-1]
location = num.index(max)+1
print(max)
print(location)
이 문제는 다른 언어와 별로 차이가 없었기 때문에 문법 부분에선 괜찮았는데 풀었을 당시에 직접 for문을 이용해 max값을 비교하는 구조가 도저히 생각이 나질 않아 sort로 정렬하는 방식을 택해 조금 야매로 푼 것 같다.
이후에 팀원의 해결 방식을 보며 기존의 많이 푸는 방식으로 같이 해결했다.
3. 백준 2675번 문자열 반복
count = int(input())
wordsplit = []
for i in range(count):
inputs = input().split()
incount = int(inputs[0])
word = inputs[1]
wordsplit = list(word)
wordtotal = ''
for j in range(0, len(wordsplit)):
for k in range(0, incount):
wordtotal += wordsplit[j]
# print(inputs, '-',incount,'-',wordsplit,'-',wordtotal)
print(wordtotal)
이 문제 쯤부터 점점 진도가 안나가기 시작했다. 첫 입력값은 입력될 문제의 개수를, 두 번째부터의 입력값은 반복횟수 + 문자열 이 입력됐다.
예를 들어 2, 3 ABC, 4 /HTP 이렇게 입력이 됐다고 가정했을 때 출력 값은 AAABBBCCC, ////HHHHTTTTPPPP 로 출력이 되야 한다.
단순히 ABCABCABC 같은 연속적인 반복이면 금방 풀었을 텐데, 문자열 값을 또 쪼개서 그 값들을 반복해야 했기에 초반에 알고리즘이 생각이 나질 않아 시간이 오래걸렸었다.
이 다음 문제는 백준 1978번 소수찾기 문제인데 도저히 생각이 나질 않아 내일의 내가 푸는 걸로 하기로 했다.
학습시간 : 10 ~ 25시
'크래프톤 정글 > TIL' 카테고리의 다른 글
크래프톤 정글 week01, day07 - 알고리즘 문제 풀기 (2) | 2024.02.19 |
---|---|
크래프톤 정글 week01, day06 - 1주차 공부키워드 - 1 (1) | 2024.02.19 |
크래프톤 정글 week00, day04 - 프로젝트 발표 및 피드백 (1) | 2024.02.19 |
크래프톤 정글 week00, day03 - 프로젝트 작업 및 저장소 학습 (1) | 2024.02.19 |
크래프톤 정글 week00, day02 - 프로젝트 기획 발표 및 작업 (1) | 2024.02.19 |