sello
152
2019-01-22 09:44:26
18
2360

알고리즘 실무에서 얼마나 중요한가요?


자바 웹개발 쪽을 현재 목표로 공부하는 취준생이에요.. 근데 알고리즘/자료구조는 웹개발 실무에서는 어느 정도로 필요한가요? 가고싶은 기업들이 코딩테스트를 본다그래서 공부해보려 하는데 차근차근 제대로 공부해볼까 하거든요.. 근데 실무에서는 얼마나 쓰일지 궁금합니다
0
0
  • 댓글 18

  • 니플
    33k
    2019-01-22 09:57:02

    웹개발하는데에 간간히 로직을 짜야하는 경우가 있는데

    알고리즘을 공부하게 되면 그러한 로직을 짜는 데 수월하게 작업할 수 있습니다.

    0
  • 아이원가습기
    246
    2019-01-22 09:59:35

    논리적 사고력이 좀 부족하면 간단히는 페이지네이션이나 기타 여러 로직들을 잘 못짜죠

    알고리즘은 그런 논리력을 기르게 해주구요

    0
  • sm&si
    2k
    2019-01-22 10:01:56

    웹개발에 알고리즘 자체가 쓰이는 일은 드물구요.

    다만, 알고리즘을 공부하면서 논리적인 사고가 길러져요.

    수학공부하는거랑 비슷하다고 보심 되요.

    일상에서 미적분 쓰진 않지만 배우는거랑 비슷합니다.

    0
  • 유리세계
    1k
    2019-01-22 10:06:01

    어쩌다 필요한데 필요한 경우에 수월하죠

    0
  • LichKing
    14k
    2019-01-22 10:12:51

    알고리즘은 기초체력입니다.

    알고리즘의 정의부터 알아보시고 오신다면 '실무에서 알고리즘을 쓰는가?' 라는 질문이 매우 이상한 질문이라는걸 알 수 있습니다. 실무에서 알고리즘을 쓰는게아니고 실무에서 작성한 코드가 이미 하나의 알고리즘이 되는셈입니다.

    기초 알고리즘에 대한 이해도가 깊다면 그 코드가 좀 더 간결해지고 성능상으로도 더 좋은 코드가 나오겠죠.
    3
  • fender
    14k
    2019-01-22 10:21:22 작성 2019-01-22 10:22:12 수정됨

    실무의 종류에 따라 다르다고 생각합니다. 일반적으로 말하면 계층상 저수준으로 내려갈수록 알고리즘의 중요성이 높아지고, 위로 올라갈수록 디자인 패턴이나 아키텍쳐 같은 단위의 지식이 중요해집니다.

    반면에 특정 종류의 실무에서는 그냥 SQL 잘하는게 최고의 미덕인 경우도 있습니다. 그래서 막연하게 '실무'라고 일반화해서 답하긴 어려운 문제 같습니다.

    3
  • March
    2k
    2019-01-22 10:31:15

    일반적인 웹개발에서는 크게 중요하지 않아요.

    자원이 한정된 머신, 코스트가 높은 작업, 대용량 데이터처리등 정도에나 쓰이는 정도에요

    1
  • siva6
    4k
    2019-01-22 10:41:30

    알고리듬을 너무 협소하게 사용하는 것 같네요.
    퀵소트, 머지소트 이런 것만을 알고리듬이라고 하는 것 같은데요.

    프로그래머가 프로그래밍을 하는 거의 모든 것이 알고리듬입니다.

    1
  • fender
    14k
    2019-01-22 10:53:44 작성 2019-01-22 10:58:35 수정됨

    항상 그렇지만 이런 주제의 이야기에서는 맥락이 중요한 것 같습니다. 알고리즘의 의미를 확장하면 모든 것이다 알고리즘이라고 정의할 수도 있지만, 이 경우 질문자에게는 어떠한 도움이 되는 정보도 제공할 수 없게 됩니다.

    "모든 프로그래밍 활동은 알고리즘이다"라고 폭넓게 정의 해버리면 "프로그래머가 실무를 잘하려면 프로그램을 잘해야한다" 같은 동어반복이 되어 버리니까요...

    0
  • linja1
    179
    2019-01-22 11:49:51

    무슨일을 하느냐에 따라 다르죠 실무위주의 현업에 가면 기업 업무 프로세스 익히는게 중요하고, 기술개발하고 인프라 개발하고 그런 인터넷 기업가면 알고리즘이 중요하겠죠 서로 타는 테크가 틀려요 게임을 예를 들면 법사를 키우는데도 어떤 유저는 공격위주로 법사 키우고 어떤 유저는 버프 위주와 방어 위주로 키우고

    0
  • freestyle
    3k
    2019-01-22 12:04:58

    저는 다른 면도 있다고 봅니다. 알고리즘 같은 것은 사고력이라고 해야 하나... 생각하는 방식, 문제에 접근하는 방식에 대한 훈련이라고 봅니다. 그게 꼭 무슨 공식처럼 실무에 사용되서라기 보다는 말이죠.

    요즘 중고등학교 코딩 교육도 그런 관점에서 알고리즘 교육을 하는 것일 테고요... 

    1
  • 산들바람_
    1k
    2019-01-22 13:36:24

    알고리즘은 9세기 페르시아의 수학자인 무하마드 알콰리즈미(Muhammad al-Kwarizmi)의 이름을 라틴어화한 algorismus에서 따온 말이다.

    영어로 algorithm의 발음 기호는 [ӕlgərɪðəm]이며 ð는 this [ðɪs]의 ð 발음이기 때문에, algorithm을 알고리즘으로 읽는 것은 this를 "지스"로, rhythm [rɪðəm]을 '리즘'으로 읽는 것과 마찬가지의 잘못이라는 주장이 있다[1]. 하지만 실제 생활에서는 알고리즘이라는 표기가 알고리듬이라는 표기에 비해 압도적으로 많이 사용되고 있다.[2]

    정의[편집]

     en:Algorithm characterizations 문서를 참고하십시오.

    정지 문제의 결과로 알고리즘이 정지하는 데 걸리는 시간을 일반적으로 측정할 수 없다.

    그러므로 알고리즘에 대해 단순한 직관을 만족하는 형식적인 정의는 불가능하다.

    따라서 알고리즘의 공식적인 정의는 없다.

    대부분의 알고리즘은 유한한 수의 규칙에 따라 구별 가능한 기호들을 조작하여 입력 정수에서 출력 정수를 생성하기 위한 일반화된 작업을 정의한다. 다음은 좋은 알고리즘의 특징이다.

    • 정밀성 : 변하지 않는 명확한 작업 단계를 가져야 한다.
    • 유일성 : 각 단계마다 명확한 다음 단계를 가져야 한다.
    • 타당성 : 구현할 수 있고 실용적이어야 한다.
    • 입력 : 정의된 입력을 받아들일 수 있어야 한다.
    • 출력 : 답으로 출력을 내보낼 수 있어야 한다.
    • 유한성 : 특정 수의 작업 이후에 정지해야 한다.
    • 일반성 : 정의된 입력들에 일반적으로 적용할 수 있어야 한다.
    0
  • ㅇㅈㅇ
    3k
    2019-01-22 16:31:50

    실무라는 말은 너무 범위가 넓어요. 

    일반적으로 최적화 없이 기존 프레임웍이나 

    오픈소스선에서 다 정리되는 경우는

    알고리즘 하나도 몰라도 개발 다 가능합니다.

    성능개선이 주업무인 필드는

    유명알고리즘 용어나왔을 때

    모르면 이상한 사람 취급받을겁니다.

    0
  • Whislter
    345
    2019-01-23 05:27:32

    amazon online assessment 검색해서 몇 문제만 풀어보세요.

    갠적으로 다른 알고리즘 사이트들 문제만 읽으면 대충 어떤 알고리즘 사용해야되는지 힌트가 많음.특히 시간복자도를 얼마 안에 풀어라 = 어떤 알고리즘을 사용해라 힌트


    아마존 문제는 실무에서 주어질 만한 상황만 설명하고 입력이 주어짐 - 어떤 알고리즘을 사용해야될지 본인이 생각해야함

    [많이 풀어보진 않고 6문제만 풀어봤서 정확하진 않습니다. 근데 전부다,,,설명이 엄~~청 길었어요.]

    0
  • 스텁
    1k
    2019-01-23 17:19:16

    질문을 좀바꿔서 알고리즘 문제에 나온 코드를 그대로 쓸일이 있나요? 라고 하면 없어요

    하지만 알고리즘을 코딩 테스트에 쓰는건 그건 그냥 상식이에요. 걍 상식적으로 이거알아 몰라? 이런거인듯합니다. 이정도의 상식이 있다면... 뭐가 중요하겠어  다른것도 잘 습득허겠네 이런거라고 생각합니다

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.