반복문과 재귀 모두 특정 작업을 반복 수행하는 프로그래밍 기법이다. 두 가지 방식에 어떤 차이점이 있는지, 또 장단점은 어떤 것이 있는지 알아보자. 반복문말 그대로 특정 작업을 반복하는 기법입니다. 특정 조건을 만족할 때까지 코드 블럭을 반복하는 작업을 수행합니다. 반복문은 주로 for과 while을 사용하여 나타냅니다. 파이썬에서의 반복문for문을 사용한 반복문입니다.- for i in data 의 경우 자료형에 포함된 요소를 바로 iteration을 통해 불러옵니다. - for i in range(start, end) 의 경우 주어진 숫자 범위 내에서 iteration을 수행합니다.numbers = [1,2,3,4,5]for i in numbers: print(i) for i in rang..
전체 글
IE stands for Industrial Engineering, not Internet Explorer ;) 공부한 것을 정리합니다. 가끔 일상도 올려요.배열배열(Array)은 프로그래밍에서 데이터를 저장하고 조작하는 가장 기본적인 자료구조이다. 배열은 모든 요소가 순차적으로 배열되는 선형 데이터 구조이다. 배열은 연속적 메모리에 동일 데이터 유형 요소들로 구성된다. 파이썬에서의 배열파이썬에서 배열과 가장 유사한 자료형은 리스트(List)이다. C언어와 다르게 파이썬에서의 배열은 가변적인 크기를 가지고 동일 데이터 유형 요소 뿐만 아니라 다양한 유형의 데이터 요소들을 저장할 수 있습니다. 파이썬이 알고리즘 풀기에 제일 편한 언어인게 이런 편의성 때문이 아닐까요 파이썬에서는 두가지 방법으로 배열 구현이 가능합니다. 1. 리스트(List): 다양한 요소들을 포함할 수 있는 배열이며 가변적인 크기를 가질 수 있습니다. 일반적으로 많이 사용합니다.# 리스트 생성..
안 그래도 정글 와서 꾸준히 주차마다 회고하면서 블로그 글을 쓰려고 했는데 마침 이런 과제를 내주셨습니다. 정글에 온 지 4일이 지났습니다.. 올 때부터 만만하게 생각하고 온 건 아니었지만 0주차는 육체적으로 쉽지 않았습니다 후.. 일단 도착해서 웰컴 키트로는 집업 후드, 티셔츠 한 장 받았습니다. 걸레짝 넝마가 될 때 까지 입고 다닐 것 같아요.. 애초에 옷을 많이 안가져와서 근데 이전 기수는 스티커 같은 것도 받은 거 같았는데 이제는 안 주시나 봅니다 쩝 노트북에 덕지덕지 붙이고 싶었는데 옷 받고 기숙사 식당에서 룸메랑 점심 먹고 강당으로 이동해서 입소식 진행했습니다. 4일 지난 시점에서 입소식이 내용이 잘 기억은 안 나는데 요약하자면 정글이 어떤 곳인지, 무엇을 배울 수 있는지, 운영진 및 코치님들..
서류접수지원동기 500자 외에는 전부 300자였는데 이게 생각보다 짧은 분량이라... 쓰고 싶은 내용을 쭉 다 적고 여러 번 수정을 하면서 분량을 줄였다. 지원동기는 500자인 만큼 지원동기 작성하는 게 제일 쉬웠다. 지원동기는 크래프톤 정글이 제공하는 교육이 왜 매력적이었으며, 나에게 해당 교육이 왜 필요한지를 최대한 어필하며 작성했었다. 다른 부트캠프와 다르게 크래프톤 정글만이 가지는 차별점을 잘 생각하며 작성하였다!(사실 차별점이 명확해서 홈페이지 한 1분만 보면 알 수 있다) 성취 경험은 여행, 도전, 취미, 학업 무엇이든 상관없었지만 학업/개발 경험은 뒤의 항목에서 언급할 기회가 많아서 하지 않고 대학 시절 여행 동아리에서 제주도 자전거 일주를 했던 경험을 적었다. 한여름에 진짜진짜 개고생 했던..
문제https://www.acmicpc.net/problem/1622 풀이처음에 문제를 제대로 안 읽고 안일하게 생각하고 접근했다가 틀렸다.. a문자열 내에도 존재하고 b문자열 내에도 존재하는 부분 수열을 구해야 하는데, a문자열을 반복문으로 돌면서 알파벳이 문자열 b에도 존재하기만 하면 부분 순열로 처리한 후 Set에 넣어버렸다.. abcc, deccc와 같은 경우 부분 수열이 cc인데 위의 방법으로 코드를 짤 경우 부분 수열이 c로 처리되기에 당연히 틀릴 수 밖에 없다.// 틀린 답안import java.util.*;import java.io.*;class Main { public static void main(String[] args) throws IOException { Bu..
문제https://www.acmicpc.net/problem/15558 풀이모든 경로를 탐색하며 목표점인 N칸 이상을 넘어갈 수 있는지 판별하는 문제이다. 손으로 그림 몇 번 그려보니 bfs로 해결이 가능할 것 같아서 bfs 알고리즘을 활용하였다. 칸을 이동하는 경우 중 반대편 줄의 i + k칸으로 이동하는 경우 선언한 int변수 isLeft의 값을 toggle 작업(1이면 0으로 바꾸고, 0이면 1로 바꾸기)을 해주어야 했는데, 어떻게 해야할지 고민을 좀 했다.. 비트연산자 XOR로 변환을 했는데 생각해보니 isLeft = 1 - isLeft로도 변환이 가능하다...! 사실 기존에 isLeft를 boolean 변수로 선언해서 사용하긴 했는데 if 분기가 많아 코드가 지저분해 보여서 isLeft를 int..